find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
我们用的最多的还是find -name
根据文件或者正则表达式进行匹配
find
输入当前目录下所有文件
find /home -name "*.txt"
输出home目录下所有以txt结尾的文件
find ./ -name "*.sam"
查找文件夹下面所有的sam文件。子文件夹的子文件也会被找出来
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文件
否定参数
find /home!-name "*.txt"
找出自己家目录下所有的.txt文件并删除
find $HOME/. -name "*.txt"-ok rm{} \
查找当前目录下所有.txt文件并把他们拼接起来写入到test.txt文件中
find . -type f -name "*.txt" -execcat{} \;> all.txt
要列出所有长度为零的文件
find .-empty