1

请观察以下场景:

文件1.txt

这里的数字是行号

1 abc
2 def
3 [hi]
4 afg
5 jik
6 [jim]
7 jum
8 [hey]

在这个文件中,如何检索从第 3 条记录到下一个“[”出现的行号(如果是第 6 行)?

我使用过sed -n 'n,$p' file1.txt|grep -n '\['(n 行号),但这并没有像我预期的那样工作,请帮忙。提前致谢!

4

1 回答 1

0

如果您对 awk 没问题,那么您要查找的行号在awk '($2 ~ /\[/)&&($1 > line_no) {print $1; exit;}' file.txt 哪里line_no[

$ awk '($2 ~ /\[/)&&($1 > 3) {print $1; exit;}' file.txt
6
$ awk '($2 ~ /\[/)&&($1 > 4) {print $1; exit;}' file.txt
6
$ awk '($2 ~ /\[/)&&($1 > 6) {print $1; exit;}' file.txt
8
于 2013-06-04T15:56:15.913 回答