我正在尝试使用grep命令从linux的txt文件中获取特定字符串的行号。
例如,我有一个包含以下内容的文本文件
asdf
ghjk
zxcv如果我为asdf使用grep这个文件,我们将收到数字为1的整数。
如果我为zxcv使用grep这个文件,我们将收到数字为3的整数。
如何用grep返回行号?
发布于 2018-01-29 02:46:22
要从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
4https://stackoverflow.com/questions/48488890
复制相似问题