grep在所有目录中

Rom*_*nov 19 grep subdirectory

我有一个名为XYZ的目录,里面有ABC,DEF,GHI目录.我想在所有目录中搜索所有*.c中的模式'writeText'(即XYZ,XYZ/ABC,XYZ/DEF和XYZ/GHI)我可以使用什么grep命令?

另外,如果我只想搜索XYZ,XYZ/ABC,XYZ/GHI而不是XYZ/DEF,我可以使用什么grep命令?

谢谢!

wkl*_*wkl 36

grep -R --include="*.c" --exclude-dir={DEF} writeFile /path/to/XYZ
Run Code Online (Sandbox Code Playgroud)
  • -R 表示递归,因此它将进入您正在浏览的目录的子目录中
  • --include="*.c"表示"查找以.c" 结尾的文件"
  • --exclude-dir={DEF}表示"排除名为的目录DEF.如果要排除多个目录,请执行以下操作:--exclude-dir={DEF,GBA,XYZ}
  • writeFile 是你正在寻找的模式
  • /path/to/XYZ 是您想要浏览的目录的路径.

请注意,这些标志适用于GNU grep,如果您使用的是BSD/SysV/AIX,则可能会有所不同grep.如果您使用的是Linux/GNU grep工具,那么您应该没问题.