gpt4 book ai didi

linux - 从制表符分隔的文件中删除重复的单词/字符串

转载 作者:可可西里 更新时间:2023-11-01 11:50:11 26 4
gpt4 key购买 nike

我想使用 Linux 命令从制表符分隔的大文件中删除重复的单词/字符串。

names            john, cnn, mac, tommy, mac, patrick, ngc, discovery, john, cnn, adam, patrick
cities san jose, santa clara, san franscisco, new york, san jose, santa clara

以上是文件格式,我想去掉重复的单词后保留制表符和逗号。

names            john, cnn, mac, tommy, patrick, ngc, discovery, adam
cities san jose, santa clara, san franscisco, new york

如有任何帮助,我们将不胜感激。

最佳答案

awk 'BEGIN {
FS = ", |\t"
}
{
printf "%s\t", $1
delim = ""
for (i = 2; i <= NF; i++) {
if (! ($i in seen)) {
printf "%s%s", delim, $i
delim = ", "
}
seen[$i]
}
printf "\n"
delete seen
}' inputfile

如果你没有使用 GNU AWK (gawk) 那么你不能删除数组,使用split("", array) 代替。

关于linux - 从制表符分隔的文件中删除重复的单词/字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10901492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com