可能重复:
使用 grep 仅报告行号
我只想看到行号。我不需要查看剩余的输出。
管道grep -n
输出,通常看起来像:
11: stuff that matched
43: more stuff that matched
通过 sed 剥离出匹配的部分:
grep -n pattern file | sed -e 's/:.*//g'
11
43
grep -n
或--line-number
选项将为您执行此操作。您可以在 grep 帮助文件中找到这些信息,您可以通过使用找到该信息grep --help
或grep --help | less
更仔细地阅读它。还可以考虑使用手册页:man grep
你也可以用awk
。
grep -n word file | awk -F: '{ print $1 }'
正如@Barmar 指出的那样,您可以只使用单线awk
:
awk '/regex/ { print NR }' file
既然你没有,awk
你也可以使用cut
:
grep -n word file | cut -d: -f1