我有一大批这样的行:
a|b|c
e|f|2
h|i|j
我想找到的第一行,只有在第三列号(这将是第二次在一个例子)。 我怎么可以grep,没有所有的数据和管它卸入头?
我有一大批这样的行:
a|b|c
e|f|2
h|i|j
我想找到的第一行,只有在第三列号(这将是第二次在一个例子)。 我怎么可以grep,没有所有的数据和管它卸入头?
您可以使用-m1
在grep的选项:
grep -m1 "[0-9]$" file
正如每man grep
:
-m num, --max-count=num
Stop reading the file after num matches.
或者更准确的做用awk吧:
awk -F'|' '$3 ~ /^[0-9]+$/{print; exit}' file
e|f|2
POSIX的解决方案是使用sed
和退出后的首场比赛:
sed -n '/|[0-9]*$/{p;q;}' file # print and quit