Chinaunix
标题:
去除一行中相同的内容
[打印本页]
作者:
SheIsTheOne
时间:
2018-08-03 09:07
标题:
去除一行中相同的内容
各位大神,去除重复行比较容易,但是如何去除一行中相同的内容:
例如 1.txt如下(文件共两列; tab分割; 第二列以;作为分隔符)
a GO:001;GO:002;GO:003;
b GO:001;
GO:004
;GO:007;GO:009;
GO:004
生成的结果文件是(去除第二列中的重复内容):
a GO:001;GO:002;GO:003;
b GO:001;
GO:004
;GO:007;GO:009;
感激
作者:
wh7211
时间:
2018-08-03 09:36
回复
1#
SheIsTheOne
awk '{b=split($2,a,";");for(i=1;i<=b;i++){c[a[i]]++;if(c[a[i]]==1){d=d?d";"a[i]:a[i]}};print $1,d;delete c;d=""}' file
复制代码
作者:
christmas1102
时间:
2018-08-03 10:00
awk -F'[ ;]' '{printf $1" ";for(i=2;i<=NF;i++){if(!a[$i]++&&$i){printf $i";"}}delete a;print ""}' 1.txt
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2