我在很多子目录中有很多源代码文件。通常我使用grep -r 'pattern' .
来查找哪些文件可以找到我使用的函数的定义。在命令行中使用AWK执行相同操作的正确方法是什么?
答案 0 :(得分:2)
我可以想到两个选择:
import { Global } from "./global";
console.log(Global.test)
在支持它的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命令。