我有两个文件:
candidates.csv:
id,value
1,123
4,1
2,5
50,5
Run Code Online (Sandbox Code Playgroud)
blacklist.csv:
1
2
5
3
10
Run Code Online (Sandbox Code Playgroud)
我想删除candidates.csv第一列(id)中包含值的所有行blacklist.csv.id始终是数字.在这种情况下,我希望我的输出看起来像这样:
id,value
4,1
50,5
Run Code Online (Sandbox Code Playgroud)
到目前为止,我用于识别重复行的脚本如下所示:
cat candidates.csv | cut -d \, -f 1 | grep -f blacklist.csv -w
Run Code Online (Sandbox Code Playgroud)
这给了我输出
1
2
Run Code Online (Sandbox Code Playgroud)
现在我不知何故需要将这些信息反馈到sed/ awk/ gawk/ ...以删除重复项,但我不知道如何.我有什么想法可以从这里继续吗?或者是否有更好的解决方案?我唯一的限制是它必须在bash中运行.
现在我有2个文件,如下所示:
>cat file1.txt
john 12 65 0
Nico 3 5 1
king 9 5 2
lee 9 15 0
>cat file2.txt
Nico
king
Run Code Online (Sandbox Code Playgroud)
现在,我想删除第一列中包含file2中名称的行。
Ideal result:
john 12 65 0
lee 9 15 0
Run Code Online (Sandbox Code Playgroud)
谁能告诉我该怎么做?我已经尝试过这样的代码:
for i in 'less file2.txt'; do sed "/$i/d" file1.txt; done
Run Code Online (Sandbox Code Playgroud)
但是它不能正常工作。