我想从文件中获取行号。在出现5个破折号(-----)的文件中,我想获得该行号。 例如
Day to Day
------------------
Month
-----
Jan
feb
mar
Year
-----
2014
2013
2012
所以这里月份和年份有5个破折号。我想得到那个月份和年份的行号。 感谢。
答案 0 :(得分:2)
您可以使用awk:
awk '/-{5}/{print NR, $0}' file
2 ------------------
4 -----
11 -----
要仅使用行号:
awk '/-{5}/{print NR}' file
2
4
11
编辑:如果您想查找包含5个破折号的行,请使用:
awk '/^-{5}$/{print NR}' file
4
11
答案 1 :(得分:2)
如果您只想要行号,而不是后面的文字,则可以cut
补充使用grep
:
grep -n '^-----$' file.txt | cut -f1 -d:
输出:
4
11
答案 2 :(得分:2)
sed
较少使用的命令之一:
sed -n '/^-----$/=' file
答案 3 :(得分:1)
您可以将{-n选项与grep
一起使用,以使grep
输出行号。所以,它会是这样的:
grep -n ^-----$ filename.txt