您好,我有一个 csv 文件,其内容如下
NAME,AGE
abc,12
def,13
NAME,AGE ##here duplicates :though these are column names
sdd,34
krgj,656
我尝试了一个排序命令来做到这一点:
sort -u file.csv -o file.csv
但是所有重复的行都被删除了(保留最后一行),但我需要保留第一行,这样我的列/标题就可以安全了。
请在这方面提供帮助。
最佳答案
这个任务的惯用 awk 程序是:
awk '!seen[$0]++' file
对于文件中的每一行 ($0),我们增加看到该行的次数。由于我们使用的是后增量运算符,
第一次遇到一行时,seen[$0]++
的值为零。对于该行的所有其他实例,该值不为零。所以我们否定这个值以获得第一次看到的真实值。默认操作是打印该行。
关于linux - 删除重复项并首先保留在 unix 中的 csv 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40708370/