3

可能重复:
使用 grep 仅报告行号

我只想看到行号。我不需要查看剩余的输出。

4

3 回答 3

4

管道grep -n输出,通常看起来像:

11: stuff that matched
43: more stuff that matched

通过 sed 剥离出匹配的部分:

grep -n pattern file | sed -e 's/:.*//g'

11
43
于 2012-12-24T07:43:06.423 回答
0

grep -n--line-number选项将为您执行此操作。您可以在 grep 帮助文件中找到这些信息,您可以通过使用找到该信息grep --helpgrep --help | less更仔细地阅读它。还可以考虑使用手册页:man grep

于 2012-12-24T07:40:56.800 回答
0

你也可以用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
于 2012-12-24T07:45:54.860 回答