如何根据另一个文件中的相应行以最简单的方式整理出错误的条目?

如何根据另一个文件中的相应行以最简单的方式整理出错误的条目?

我有两个文件:

在一个文件中,我有一个字符串列表,如果另一个文件中的相应行包含字符串“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

相关内容