什么是AWK中的grep -r?

时间:2017-05-23 07:26:49

标签: shell awk command-line grep

我在很多子目录中有很多源代码文件。通常我使用grep -r 'pattern' .来查找哪些文件可以找到我使用的函数的定义。在命令行中使用AWK执行相同操作的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

我可以想到两个选择:

  1. 使用import { Global } from "./global"; console.log(Global.test)
  2. 在支持它的shell中,比如bash> = v4.0,使用globstar:

    find . -type f -exec awk '/pattern/ { print FILENAME }' {} +

答案 1 :(得分:0)

你可以使用下面的find命令来几乎任何unix命令递归运行。

find <dir> -type f -exec <command> {} +

find <dir>: 
  

在目录中查找。

-type f:
  

文件类型为:常规文件

-exec <command> {} +: 
  

-exec操作的此变体在所选文件上运行指定的命令,但命令行是通过在末尾附加每个选定的文件名来构建的;命令的调用总数将远远少于匹配文件的数量。命令行的构建方式与xargs构建命令行的方式大致相同。只有一个“{}&#39;在命令中是允许的。该命令在起始目录中执行。

command:
  

可以是sed,grep,awk或任何其他linux命令。