使用grep获取行数

时间:2018-01-28 16:57:02

标签: linux

我正在尝试使用grep命令从linux获取txt文件中特定字符串的行号。

例如,我有一个包含

的文本文件
asdf
ghjk
zxcv

如果我为asdf grep这个文件,我们将收到数字为1的整数。

如果我为zxcv grep这个文件,我们将收到数字为3的整数。

如何使用grep返回行号?

1 个答案:

答案 0 :(得分:2)

要从grep返回行号,请使用-n开关。您可以将grep的输出传递给cut命令以解析:<search_string>

grep -n <pattern> <file> | cut -f1 -d:

如果您的文件(test.txt)具有以下内容......

asdf
ghjk
zxcv
asdf

您将获得单次出现的以下输出...

$ grep -n ghjk test.txt | cut -f1 -d:
2

如果您的搜索条件位于文件中的多行,则会返回多个行号。

$ grep -n asdf test.txt | cut -f1 -d: 
1
4