Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在linux中返回文件中首次出现的文本的行号_Linux_Shell_Text_Grep_Cut - Fatal编程技术网

如何在linux中返回文件中首次出现的文本的行号

如何在linux中返回文件中首次出现的文本的行号,linux,shell,text,grep,cut,Linux,Shell,Text,Grep,Cut,在linux中,如何返回文件中第一次出现的文本的行号?例如,一个文件如下所示 12:04:56 xxxx 12:06:23 xxxx 12:09:11 xxxx 12:09:13 xxxx 12:10:12 xxxx 如果所需文本为“12:09:”,任何人都可以提供返回3的行命令吗?尝试以下操作: awk '/12:06:23/{print NR;exit}' file 与及: grep-n还返回找到的匹配项的行号。从那时起,您可以结合使用head和cut来提取行号: cat myfile.

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

12:04:56 xxxx
12:06:23 xxxx
12:09:11 xxxx
12:09:13 xxxx
12:10:12 xxxx
如果所需文本为“12:09:”,任何人都可以提供返回3的行命令吗?

尝试以下操作:

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


grep-n
还返回找到的匹配项的行号。从那时起,您可以结合使用
head
cut
来提取行号:

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

-n
-grep
中的行号应执行以下操作trick@sputnick实际上,grep本身也是如此:
grep-n“12:09”bla.txt | head-1 | cut-d:“-f1
。我只是觉得使用
cat
更具可读性,因为您可以从左到右阅读整个流程。@sputnick这并不是说我不喜欢
awk
解决方案,though@Mureinik:对于从左到右的可读性:
OOps,是的,grep不是awk。但同样的想法
cat myfile.txt | grep -n "12:09" | head -1 | cut -d":" -f1