find 命令用于搜索指定文件
按文件名寻找
-
找到当前路径下的
test.txt
文件find ./ -name "test.txt"
-
找到当前路径下以
.txt
结尾的文件 正则匹配查找find ./ -name '*.txt'
-
找到
test.txt
文件,并忽略文件名大小写 文件名大小写忽略find -iname 'test.txt'
按文件大小查找
-
找path路径下的大小为2M的文件
find /path -size 2M
-
找path下的大于2G的文件
find /path -size +2G
-
找path下的小于2k的文件
find /path -size -2K
-
找path下的大于4M小于10M的文件
find /path -size +4M -size -10M
反向查找 -not
或 !
查找不是以.png
结尾的文件
find ./ -not -name '*.png'
或者如下
find ./ ! -name '*.png'
多条件 -a
查找既不是以@2x.png
结尾也不是以@3x.png
结尾的文件
find ./ -not -name '*@2x.png' -a -not -name '@3x.png'
找到文件后执行操作
通过添加参数-exec
或 -ok
。可以在找到文件后执行其他的操作。
-ok
或-exec
后面跟其他要执行的命令。最后以{}\;
结束
找到a.txt
文件后直接编辑该文件
find ./ -name 'a.txt' -exec vi {}\;
找到a.txt
文件后编辑该文件,在编辑前会确认是否执行
find ./ -name 'a.txt' -ok vi {}\;
找到a.txt
文件后删除该文件
find ./ -name 'a.txt' -exec rm {}\;