【发布时间】:2013-03-15 09:04:41
【问题描述】:
如何在LINUX中grep一个目录及其所有子目录的文件中的字符串或文本??
【问题讨论】:
-
您是否会针对
grep -r或grep -R遇到的问题提供任何反馈?您是否在您的机器上查看了grep的手册页?如果正则表达式(字符串或文本)包含任何元字符,您是否记得将其括在单引号中?
如何在LINUX中grep一个目录及其所有子目录的文件中的字符串或文本??
【问题讨论】:
grep -r 或grep -R 遇到的问题提供任何反馈?您是否在您的机器上查看了 grep 的手册页?如果正则表达式(字符串或文本)包含任何元字符,您是否记得将其括在单引号中?
如果您的 grep 支持 -R,请执行以下操作:
grep -R 'string' dir/
如果没有,则使用find:
find dir/ -type f -exec grep -H 'string' {} +
【讨论】:
grep -r -e string directory
-r 用于递归; -e 是可选的,但它的参数指定要搜索的正则表达式。有趣的是,POSIX grep 不需要支持 -r(或 -R),但我几乎可以肯定 System V 实际上他们(几乎)都支持.某些版本的grep 支持,所以grep 支持-R 以及(或可能代替)-r; AFAICT,意思是一样的。
【讨论】:
-R 遵循符号链接,您可能想要也可能不想要