0
我試圖搜索文件中給定的文本並查找其最後出現索引。 該任務是將搜索到的索引追加到同一個文件中,但放在單獨的列中。 我能夠完成任務,但尋找更有效的解決方案。Unix Shell:搜索文件並追加最後一次出現
以下是詳細說明:
names_file.txt
tarun trehan vikram batra allzhere blog allzhere android apps allzhere on facebook contact updater utility help me
我運行下面的命令在臨時文件即names_searched.txt
grep "n" names_file.txt > names_searched.txt
以獲取結果以下是結果:
tarun trehan allzhere android apps allzhere on facebook contact updater utility
現在,我運行以下awk命令來提取「n」的最後一個索引。
cat names_searched.txt | awk -F"n" '{print length($0) - length($NF)}' > namex_srch_idx.txt
以下是結果:
12 11 11 3
現在我粘貼文件準備一個結果文件,即
paste names_searched.txt namex_srch_idx.txt > names_result.txt
以下是理想的結果:
tarun trehan 12 allzhere android apps 11 allzhere on facebook 11 contact updater utility 3
是有一個工作我們不需要創建登臺文件,仍然可以獲得相同的結果?
甚至'awk的-F 「N」「NF> 1 {打印$ 0,長度($ 0) - 長度($ NF)}'文件'。因此,沒有「n」的行將有NF == 1,因此不會打印。 – fedorqui
謝謝......已更新。 – sat
+1不錯的解決方案! –