![如何根据另一个文件中的相应行以最简单的方式整理出错误的条目?](https://linux22.com/image/203408/%E5%A6%82%E4%BD%95%E6%A0%B9%E6%8D%AE%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E7%9B%B8%E5%BA%94%E8%A1%8C%E4%BB%A5%E6%9C%80%E7%AE%80%E5%8D%95%E7%9A%84%E6%96%B9%E5%BC%8F%E6%95%B4%E7%90%86%E5%87%BA%E9%94%99%E8%AF%AF%E7%9A%84%E6%9D%A1%E7%9B%AE%EF%BC%9F.png)
我有两个文件:
在一个文件中,我有一个字符串列表,如果另一个文件中的相应行包含字符串“NOPE”,则需要删除该字符串。如果它包含“YES”,它将保留在那里。请注意,删除一行可能会破坏顺序。格式是这样的:
1.txt:
Jimmy
John
Johnson
2.txt:
YES
NOPE
YES
正确输出:
Jimmy
Johnson
对于数千个条目执行此操作的最简单方法是什么?
答案1
你可以这样
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