Bash
如何根據其他文件中的對應行,以最簡單的方式來整理出錯誤的條目?
我有兩個文件:
在一個中,我有一個字元串列表,如果另一個文件中的相應行包含字元串“NOPE”,則需要將其刪除。如果它包含“YES”,它會留在那裡。請注意,刪除一行可能會破壞訂單。格式是這樣的:
1.txt:
Jimmy John Johnson
2.txt:
YES NOPE YES
正確的輸出:
Jimmy Johnson
對數千個條目執行此操作的最簡單方法是什麼?
你可以這樣
paste 2.txt 1.txt | awk '$1 == "YES" {print $2}'
(對於單個單詞字元串)或
awk 'NR==FNR && $0=="YES" {i[FNR]; next} FNR in i' 2.txt 1.txt