我想爲某些文本grep文件,並只輸出它出現的行號。例如:使用grep bash打印出現文本的行
File.text:
firstsentance
secondsentance
thirdsentance
,如果我用grep的secondsentance我應該得到的2
我想爲某些文本grep文件,並只輸出它出現的行號。例如:使用grep bash打印出現文本的行
File.text:
firstsentance
secondsentance
thirdsentance
,如果我用grep的secondsentance我應該得到的2
輸出我不認爲grep
本身具有這樣的功能,但你可以寫:
grep -n secondsentance File.text | sed 's/:.*//'
去除從:
以上的所有內容。
請注意,這將不具有單獨的grep
相同的退出碼。
我的答案非常相似,但使用'cut',如:'... | cut -d:-f1',所以** + 1 ** – Birei 2012-07-20 21:44:43
這會做你想要什麼:
sed -n '/secondsentence/=' File.text
的Perl:
perl -lne 'print $. if /secondsentence/' File.text
我喜歡這個,因爲選項'='沒有被廣泛使用,除了避免使用管道,** + 1 ** – Birei 2012-07-20 21:54:23
好的答案。我還想提一提,如果只想要第一場比賽,那麼在比賽結束後你可以退出。 'sed -n'/ secondsentence/{=; q}' – 2012-07-20 22:18:57
而且一個awk的解決方案。
awk '/secondsentance/ { print NR }' file
嘗試學習AWK:
awk '/secondsentance/ { print NR }' file.text
每個在file.text話
都應該在自己的行,而不是在同一行。 – user1371011 2012-07-20 21:40:30