我需要删除具有重复值的行。例如,我需要删除下面的块中的第1行和第3行,因为它们包含“Value04” - 我无法删除包含Value03的所有行,因为有些行与该数据不重复且必须保留。我可以使用任何编辑器; excel,vim,任何其他Linux命令行。
最后应该没有重复的“UserX”值。 User1应该只出现一次。但是如果User1存在两次,我需要删除包含“Value04”的整行,并保留一行“Value03”
Value01,Value03,User1
Value02,Value04,User1
Value01,Value03,User2
Value02,Value04,User2
Value01,Value03,User3
Value01,Value03,User4
非常感谢您的想法和想法。
编辑:为了清晰起见并在编辑过程中留下文字。
答案 0 :(得分:1)
以下Awk命令会删除第三列中第一次出现的所有值:
$ awk -F',' '{
if (!seen[$3]) {
seen[$3] = 1
print
}
}' textfile.txt
输出:
Value01,Value03,User1
Value01,Value03,User2
Value01,Value03,User3
Value01,Value03,User4
答案 1 :(得分:0)
perl -F, -nae 'print unless $c{$F[2]}++;' textfile.txt
这使用autosplit模式:“ - F,-a”用逗号分割并将结果放入@F数组