小编kar*_*fen的帖子

如何根据另一个文件中的列表值从csv文件中删除行?

我有两个文件:

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中运行.

csv bash awk grep sed

2
推荐指数
1
解决办法
1045
查看次数

标签 统计

awk ×1

bash ×1

csv ×1

grep ×1

sed ×1