【问题标题】:How to grep a string in a directory and all its subdirectories? [duplicate]如何grep目录及其所有子目录中的字符串? [复制]
【发布时间】:2013-03-15 09:04:41
【问题描述】:

如何在LINUX中grep一个目录及其所有子目录的文件中的字符串或文本??

【问题讨论】:

  • 您是否会针对grep -rgrep -R 遇到的问题提供任何反馈?您是否在您的机器上查看了 grep 的手册页?如果正则表达式(字符串或文本)包含任何元字符,您是否记得将其括在单引号中?

标签: linux unix grep centos


【解决方案1】:

如果您的 grep 支持 -R,请执行以下操作:

grep -R 'string' dir/

如果没有,则使用find:

find dir/ -type f -exec grep -H 'string' {} +

【讨论】:

    【解决方案2】:
    grep -r -e string directory
    

    -r 用于递归; -e 是可选的,但它的参数指定要搜索的正则表达式。有趣的是,POSIX grep 不需要支持 -r(或 -R),但我几乎可以肯定 System V grep 支持,所以实际上他们(几乎)都支持.某些版本的grep 支持-R 以及(或可能代替)-r; AFAICT,意思是一样的。

    【讨论】:

    • 我很确定 SVR3.2 和 SVR4 grep 没有,因为我在那段时间从事 SYSV 产品的操作系统开发工作,当时我有一个 rgrep shell 脚本来包装它。不过,我没有更多可以测试的了。
    • -R 遵循符号链接,您可能想要也可能不想要
    猜你喜欢
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2014-03-08
    • 2010-12-31
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多