grep是否能够提供指定单词出现的行号?
另外,是否可以使用grep向下搜索从某一行开始的单词?
发布于 2012-05-15 03:38:20
使用grep -n获取匹配的行号。
我不认为有一种方法可以让grep从某个行号开始。为此,请使用sed。例如,要从第10行开始并打印匹配行的行号和行,请使用:
sed -n '10,$ { /regex/ { =; p; } }' file要只获取行号,您可以使用
grep -n 'regex' | sed 's/^\([0-9]\+\):.*$/\1/'或者,您可以简单地使用sed:
sed -n '/regex/=' file将这两个sed命令组合在一起,您会得到:
sed -n '10,$ { /regex/= }' file发布于 2012-05-15 04:00:35
您可以调用tail +[line number] [file]并通过管道将其传递给显示行号的grep -n:
tail +[line number] [file] | grep -n /regex/这种方法的唯一问题是,grep -n报告的行号将[line number] - 1小于[file]中的实际行号。
发布于 2012-05-15 08:23:48
或者您可以使用
grep -n . file1 |tail -LineNumberToStartWith|grep regEx这将负责对文件中的行进行编号
grep -n . file1 这将打印最后一个-LineNumberToStartWith
tail -LineNumberToStartWith最后,它将grep您想要的行(它将包含原始文件中的行号)
grep regEXhttps://stackoverflow.com/questions/10589929
复制相似问题