• linux之查找包含指定内容(字符串)的文件


    linux之查找包含指定内容(字符串)的文件 

    文件内容包含指定字符串

    find . | xargs grep string

    查找当前目录下文件内容包含字符串string的文件
    为什么要这样写,因为管道命令符是把上一部的结果传递给下一步来处理,在 find . | grep string中虽然看似和find . | xargs grep string差不多,但是实际上还是有区别的。应为find .得到的结果是一串文件名集合,如果直接传递给grep的话,grep会把这些文件名看作一些无意义的字符串来处理。但是传递给xargs,他会把他当作一个有意义的文件来处理。


    文件包含指定字符串

    find . -name 'string'

    查找当前目录下文件名包含字符串string的文件
    如果要查找文件名中不包含字符串string的文件,可以使用!(取非,也就是取反)。
    find . ! -name 'string'

    组合使用在指定目录下查找包含某个字符串的文件名为某个的内容

    find /tmp/ -name test.txt | xargs grep "hello"

    可以查找到tmp目录下文件名test.txt并包含字符串hello的文件

    路径下逐一查找文件名的字符串资源

    find 路径 -type f  -name "文件名" | xargs grep “搜索的字符串”
    
    find /root/shell/ -type f -name '*'|xargs grep "daxin"

    每个目录都查找,可以查找到tmp目录下文件名test.txt并包含字符串hello的文件

    find rt -type f | xargs grep -il root

    find rt -type f 是逐一查找每个文件,在各层目录中。

    因为这里grep命令使用了参数 -l,表示查询文件中包含root字符串的文件名。
    查找字符串的对象的是文件里的内容,而不是文件名本身。使用xargs使得find查找出的文件名作为grep的参数,而不能作为标准输入。
    如果不用xargs,则查找的是文件名中包含root字符串的项。

     

     

     
  • 相关阅读:
    项目中遇到的问题:前台 disabled 与 后台disabled
    差距
    那些零碎的感悟,那些成长的事【壹】
    假期数据结构学习总结
    烟大 2242: 回文(栈和队列)
    烟大 2241: 相同序列(栈和队列)
    烟大 2239: 十进制与八进制的转换(栈和队列)
    烟大 2238: 括号匹配(栈和队列)
    hdu 1018:Big Number(水题)
    hdu 2050:折线分割平面(水题,递归)
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/16041743.html
Copyright © 2020-2023  润新知