我有两个文件:
在一个文件中,我有一个字符串列表,如果另一个文件中的相应行包含字符串“NOPE”,则需要删除该字符串。如果它包含“YES”,它将保留在那里。请注意,删除一行可能会破坏顺序。格式是这样的:
1.txt:
Jimmy
John
Johnson
Run Code Online (Sandbox Code Playgroud)
2.txt:
YES
NOPE
YES
Run Code Online (Sandbox Code Playgroud)
正确输出:
Jimmy
Johnson
Run Code Online (Sandbox Code Playgroud)
对于数千个条目执行此操作的最简单方法是什么?
你可以这样
paste 2.txt 1.txt | awk '$1 == "YES" {print $2}'
Run Code Online (Sandbox Code Playgroud)
(对于单字字符串)或
awk 'NR==FNR && $0=="YES" {i[FNR]; next} FNR in i' 2.txt 1.txt
Run Code Online (Sandbox Code Playgroud)