前言
以搜尋檔案而言 (不包含檔案內容),最好用的應該就是 find 指令了,
透過搭配 exec,還可以多執行一些額外功能
範例
基本搜尋
find ./ -name "test.txt"
檔案名稱可以用正規表達式,例如 *.txt 就是搜尋所有的 txt 檔案
而 ./ 可以是相對或絕對路徑,
搜尋檔案,並顯示絕對路徑
find ~+ -name "*.txt"
~+ 是一種表示式,總之可以讓結果顯示為絕對路徑
搜尋檔案,並刪除
find ./ -name "*.txt" -delete
小心使用,刪了基本找不回來,等同於 rm 的效果
搜尋檔案,並執行特定指令
find ./ -name "*.txt" -exec ls -l {} \;
這裡表示對搜尋結果執行 ls -l,{} 可以取代前面的結果
- -exec 就是執行後面的指令,需要搭配 ; 結尾表示指令結束
- -execdir 如果不要完整的相對路徑,只需要最後的檔名可以用這個,經常用於對於大量資料夾檔案的單一檔名替換