有没有办法在Unix中的文件中删除重复的头文件?

如何从文件中删除多个标题? 我试图从下面的代码中find它后如何删除Unix中的文件中的重复行? 。

awk '!x[$0]++' file.txt 

它正在删除文件中的所有重复logging。 但在我的情况下,我只需要删除头重复,而不是在文件中的重复logging。 例如,我有一个具有以下数据的文件:

 column1, column2, column3, column4, column5 value11, value12, value13, value14, value14 value21, value22, value23, value24, value25 value31, value32, value33, value34, value35 value41, value42, value43, value44, value45 value51, value52, value53, value54, value55 value21, value22, value23, value24, value25 column1, column2, column3, column4, column5 value11, value12, value13, value14, value14 value21, value22, value23, value24, value25 column1, column2, column3, column4, column5 column1, column2, column3, column4, column5 

我期待输出如下:

 column1, column2, column3, column4, column5 value11, value12, value13, value14, value14 value21, value22, value23, value24, value25 value31, value32, value33, value34, value35 value41, value42, value43, value44, value45 value51, value52, value53, value54, value55 value21, value22, value23, value24, value25 value11, value12, value13, value14, value14 value21, value22, value23, value24, value25 

    如果您知道第一行包含标题,只需删除所有其他的实例。

     awk 'FNR==1 { header = $0; print } $0 != header' file 

    如果这不起作用,请告诉我们如何识别标题行。 如果它只是一个静态字符串, grep -vF 'that string'或者如果它匹配特定的正则表达式, grep -v 'that regex'

    这可能适用于你(GNU sed):

     sed -r '1h;1!G;/^(.*)\n\1/d;P;D' file