find命令用來在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。如果使用該命令時(shí),不設(shè)置任何參數(shù),則find命令將在當(dāng)前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進(jìn)行顯示。
我們用的最多的還是find -name
根據(jù)文件或者正則表達(dá)式進(jìn)行匹配
find
輸入當(dāng)前目錄下所有文件
find /home -name "*.txt"
輸出home目錄下所有以txt結(jié)尾的文件
find ./ -name "*.sam"
查找文件夾下面所有的sam文件。子文件夾的子文件也會(huì)被找出來
find ./ -name "*.sam" |awk -F "." '{print$2}'
輸出/再加sam前面的材料名稱。
find ./ -name "*.sam" | awk -F "./" '{print $2}'
輸出 文件全稱
find ./ -name "*.sam" | awk -F "." '{print $2}' | awk -F "/" '{print $2}'
輸出sam文件前面的名稱。
find .\(-name "*.txt"-o-name "*.pdf"\)
查找目錄下的txt文本和pdf文件
否定參數(shù)
find /home!-name "*.txt"
找出自己家目錄下所有的.txt文件并刪除
find $HOME/. -name "*.txt"-ok?rm{} \
查找當(dāng)前目錄下所有.txt文件并把他們拼接起來寫入到test.txt文件中
find . -type f -name "*.txt" -execcat{} \;> all.txt
要列出所有長(zhǎng)度為零的文件
find .-empty