我有一个包含以下内容的文件
1,2,3,2
2,3,2,3
2,1,2
2,4,2,3,1
我必须根据一行删除重复项(在我的O / P中需要一次出现)并且我的o / p应该是
1,2,3
2,3
2,1
2,4,3,1
如果有任何方法可以使用awk或其他命令执行相同操作,请告诉我。
答案 0 :(得分:0)
您正在寻找通用或任何特定解决方案。您可以使用Python
示例:
x = ["line1","line2","line3","line2","line1"]
y= list(set(x))
print (y)
output:
line3","line2","line1
答案 1 :(得分:0)
awk -F, '{s=""; delete a;
for(x=1;x<=NF;x++){if(!($x in a))s=s sprintf("%s,",$x);a[$x]}
sub(/,$/,"",s);print s}' file
1,2,3
2,3
2,1
2,4,3,1
答案 2 :(得分:0)
这很有意思。 这就是我的工作方式:
awk '{
len=split($0,a,",");
for(i=1; i<=len; i++){
prt = 1;
for(j=i-1; j>0; j--){
if (a[i]==a[j]){
prt = 0;
continue;
}
}
if (prt == 1){
printf a[i]",";
}
}
}' | sed 's/,$//'
答案 3 :(得分:0)
使用perl
:
perl -F, -lane'my %seen; print join ",", grep { !$seen{$_}++ } @F' file
1,2,3
2,3
2,1
2,4,3,1
我们在,
上拆分了一行并创建了一个数组@F
。我们使用哈希%seen
来填充数组grep中的数字,这些数字是唯一的。