我有一個招呼文件命名爲以下數據shell腳本找到字符串的第n次出現並打印行數
onefish
onechicken
twofish
twochicken
threechicken
twocows
我想要得到的線路編號,在這些chicken
發生第二時間。
輸出應該是"4"
因爲chicken
第四次發生第二次。
我有一個招呼文件命名爲以下數據shell腳本找到字符串的第n次出現並打印行數
onefish
onechicken
twofish
twochicken
threechicken
twocows
我想要得到的線路編號,在這些chicken
發生第二時間。
輸出應該是"4"
因爲chicken
第四次發生第二次。
您可以用awk此:
awk '/chicken/{++n; if (n==2) { print NR; exit}}' file
4
的樂趣,使用的圖案separtor和使用現場
awk -F 'chicken' 'NF>1{if (2==++o)print NR}' YourFile
計數SED(不恰當的比較AWK)^J
是CTRL + V +Ĵ,實新線]
sed -e '/chicken/H;g;s/\(\^J.*\)\{2\}//;t h' -e 'd' -e ':h' -e ' =;q' YourFile
短
$ awk '/chicken/ && ++n==2 {print NR}' file
如果輸入文件很長,在打印後加入exit
會停止處理。
grep -n chicken hello| sed -n '2 s/:.*//p'
@MithraBalasubramanian:這是否工作? – anubhava