如何返回linux中文件中第一次出现文本的行号

时间:2014-12-12 13:52:31

标签: linux shell text

如何返回linux中文件中第一次出现文本的行号?例如,文件如下。

12:04:56 xxxx
12:06:23 xxxx
12:09:11 xxxx
12:09:13 xxxx
12:10:12 xxxx

任何人都可以提供一个行命令,如果所需文本为" 12:09:"?

,则返回3

2 个答案:

答案 0 :(得分:3)

试试这个:

awk '/12:06:23/{print NR;exit}' file

以及

grep -n -m1 "12:06:23" file | cut -d':' -f1

答案 1 :(得分:1)

grep -n也返回找到的匹配的行号。从那以后,您可以使用headcut的组合来提取行号:

cat myfile.txt | grep -n "12:09" | head -1 | cut -d":" -f1