我一直在用awk搞亂並試圖讓bash更舒服。我對你的問題是,我怎麼可以在一個文本文件如:Bash I/O打印記錄與匹配字段
5555
5554 No-match
5555 Match1
2421 No-match
5552 No-match
5555 Match2
5555 Match3
和掃描的第一條記錄的第一個字段($ 1)(在這種情況下:5555),然後做每個剩餘搜索如果$ 1匹配,則記錄並打印第二個字段($ 2)。這是我寫的:
awk '{(NR==1)(id=$1) (NR>1)(if(id==$1))printf("%s\n",$2)}'
我很難找到一種方法來測試第一個之後的所有記錄。我認爲:
(NR>1)(if(condition))(action)
會導致它執行我想要的記錄> 1但是這似乎並不是這種情況。任何幫助將是偉大的!
的列不是由製表符分隔,簡單的空間。此外,我正在處理的文件是在Unix中生成的,因此應該沒有問題。 – qorz