如何在Linux上使用find命令只獲取檔名?
Linux find命令是最常用的命令之一,它允許我們遍歷檔案層次結構。它主要用於查詢特定檔案或目錄,我們還可以附加其他Linux命令或標誌來增強或執行復雜操作。
讓我們探索一個find命令的例子來更好地理解它。
在下面顯示的linux程式碼中,我嘗試在我的下載資料夾中搜索一個檔案,為此我使用了find命令。
find sample.sh
輸出
sample.sh
請注意,如果find命令能夠找到該檔案,它將只打印檔名,否則它不會返回任何內容,終端程序將終止。
現在我們知道了find命令的工作原理,讓我們來探討只獲取檔名而不獲取其他任何內容的情況。
如果您使用的是GNU終端,那麼以下命令將幫助您實現這一點。
只需將命令寫入您的GNU終端
find ./ -type f -printf "%f
"
輸出
immukul@192 ~ % find ./ -type f -printf "%f
" Applications C: emp1 Desktop Documents Downloads Exercism IdeaProjects Library MEGAsync MEGAsync Downloads Movies Music Pictures Public PycharmProjects
需要注意的是,如果您不在GNU終端上,您可能會收到一個錯誤提示,指出找不到-printf。在這種情況下,您可以使用bash指令碼幫助我們實現相同的輸出。
考慮以下指令碼程式碼:
for file in **; do echo ${file##*/}; done只需將上述程式碼儲存到以.sh結尾的檔案中,然後使用以下命令賦予檔案許可權:
chmod 777 out.sh
最後,使用以下命令執行shell指令碼:
./out.sh
輸出
immukul@192 ~ % ./out.sh Applications C: emp1 Desktop Documents Downloads Exercism IdeaProjects Library MEGAsync MEGAsync Downloads Movies Music Pictures Public PycharmProjects
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP