不知何故,我之前没有找到这个,但现在已经找到了。我不明白的是实际上可以使用的“ag”命令和功能,但现在可以了。
我会在这里分享答案,以防有人需要它。为了替换我之前质疑的 find 命令,我们可以使用以下命令:
ag --php -l 'x29' "/www_root/myfile"
上一个命令的输出类似于:
/www_root/myfile/menus.php
如果找到更多文件,它将列出以新行“\n”分隔的文件:
/www_root/myfile/menus.php
/www_root/myfile/contents.php
如果您想知道哪些行号,则可以删除“-l”属性,然后将其替换为“--numbers”:
ag --php --numbers 'x29' "/www_root/myfile"
输出:
30:matches string found here
89:matches string found here
好的,现在我们可以将它与“cut”命令结合起来只获取行号:
ag --php --numbers 'x29' "/www_root/myfile" | cut -f1 -d:
输出:
30
89
大多数命令类似于“ack”,因此对于想要使用“ag”的您可以找到“ack”文档,因为它们已经记录了所有内容。
最后但并非最不重要的一点是,如果您想知道统计信息,可以将 --stats 添加到上述命令中,如下所示:
ag --php -l --stats 'x29' "/www_root/myfile"
这个简单的命令将输出如下所示的结果:
31 matches
1624 files searched
18686162 bytes searched
0.094022 seconds
所以,是的,选择 The Silver Searcher 是正确的选择。就是这样,祝您有美好的一天。