Get line number while using grep
我使用grep recursive来搜索文件中的字符串,所有匹配的文件和包含该字符串的行都将打印在终端上。但是也可以得到这些行的行号吗??
例:目前我得到的是
我用来递归grep的语法是
另一个问题是,我们如何得到不等于一个模式的结果。像所有的文件,但不是有特定字符串的文件?
1 | grep -nr SEARCHTERM file1 file2 ... |
行号用
1 | grep -n pattern file.txt |
要仅获取行号(不带匹配行),可以使用
1 | grep -n pattern file.txt | cut -d : -f 1 |
不含图案的线条用
1 | grep -v pattern file.txt |
如果只需要行号,请执行以下操作:
1 | grep -nr Pattern file.ext | gawk '{print $1}' FS=":" |
例子:
1 2 3 4 | $ grep -nr 9780545460262 EXT20130410.txt | gawk '{print $1}' FS=":" 48793 52285 54023 |
1 | grep -A20 -B20 pattern file.txt |
搜索模式并在模式前后显示20行
为了用行号显示结果,您可以尝试此操作
1 | grep"word to search for" /path/to/file/file -nr |
结果应该是这样的:
1 | linenumber: data data data word to search for data data |
grep-nr"search string"目录
这会给你一行的行号。