onefish
onechicken
twofish
twochicken
twocows
threechicken

如果我想对包含“two”的行进行grep操作,但只希望第二次匹配该怎么办?所以我想要结果“twochicken”。

最佳答案

尝试这个:

awk '/two/{i++}i==2' file

与您的数据:
kent$  echo "onefish
onechicken
twofish
twochicken
twocows
threechicken"|awk '/two/{i++}i==2'
twochicken

请注意:如果文件很大,请执行以下操作:
awk '/two/{i++}i==2{print; exit}' file

关于bash - 仅显示grep的第n个匹配项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15135430/

10-11 15:51