如何使用grep获取没有输出的行号?

时间:2012-12-24 07:39:34

标签: linux shell grep

  

可能重复:
  Use grep to report back only line numbers

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

3 个答案:

答案 0 :(得分:1)

管道grep -n输出,通常类似于:

11: stuff that matched
43: more stuff that matched

通过sed删除匹配的部分:

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

11
43

答案 1 :(得分:0)

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

答案 2 :(得分: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