我使用grep递归来搜索文件中的字符串,所有匹配的文件和包含该字符串的行都在终端上打印 . 但是有可能获得这些线的行号吗?
例如:我现在获得的是 /var/www/file.php: $options = "this.target"
,但我想要获得的是 /var/www/file.php: 1142 $options = "this.target";
,其中 1142
将是包含该字符串的行号 .
我用来递归grep的语法是 sudo grep -r 'pattern' '/var/www/file.php'
还有一个问题是,我们如何得到不等于模式的结果 . 像所有文件一样,但不是那些有特定字符串的文件?
6 回答
行号用
grep -n
打印:要仅获取行号(没有匹配的行),可以使用
cut
:不包含图案的线条打印为
grep -v
:如果您只想要行号,请执行以下操作:
例:
搜索模式并在模式之前和之前显示20行
grep -nr "search string" directory
这为您提供了行号 .
要使用行号显示结果,您可以尝试这样做
结果应该是这样的: