小编xpd*_*ude的帖子

Bash/Shell:如何从列中删除csv文件中的重复项?

我有一个csv分开;.我需要删除第2列和第3列的内容不唯一的行,并将材料传递到标准输出.

输入示例:

irrelevant;data1;data2;irrelevant;irrelevant  
irrelevant;data3;data4;irrelevant;irrelevant  
irrelevant;data5;data6;irrelevant;irrelevant  
irrelevant;data7;data8;irrelevant;irrelevant  
irrelevant;data1;data2;irrelevant;irrelevant  
irrelevant;data9;data0;irrelevant;irrelevant  
irrelevant;data1;data2;irrelevant;irrelevant  
irrelevant;data3;data4;irrelevant;irrelevant  
Run Code Online (Sandbox Code Playgroud)

期望的输出

irrelevant;data5;data6;irrelevant;irrelevant  
irrelevant;data7;data8;irrelevant;irrelevant  
irrelevant;data9;data0;irrelevant;irrelevant  
Run Code Online (Sandbox Code Playgroud)

我找到了只有第一行打印到输出的解决方案:

sort -u -t ";" -k2,1 file  
Run Code Online (Sandbox Code Playgroud)

但这还不够.

我试过使用,uniq -u但我找不到只检查几列的方法.

csv sorting bash shell uniq

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

标签 统计

bash ×1

csv ×1

shell ×1

sorting ×1

uniq ×1