[shell 命令] find - 快速搜索文件

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 {}\;

你可能感兴趣的:([shell 命令] find - 快速搜索文件)