Dhr*_*uuv 4 linux csv awk sed duplicate-removal
如何从文件中删除多个标头?我从如何在Unix中删除文件中的重复行后,尝试使用以下代码?.
awk '!x[$0]++' file.txt
Run Code Online (Sandbox Code Playgroud)
它正在删除文件中的所有重复记录.但在我的情况下,我只需要删除标题重复项,而不是文件中的重复记录.例如,我有一个包含以下数据的文件:
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
Run Code Online (Sandbox Code Playgroud)
我期待输出如下:
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
Run Code Online (Sandbox Code Playgroud)
tri*_*eee 10
如果您知道第一行包含标题,则只需删除该标题的所有其他实例.
awk 'FNR==1 { header = $0; print }
$0 != header' file
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请告诉我们如何识别标题行.如果它只是一个静态字符串,grep -vF 'that string'或者它与特定的正则表达式匹配,grep -v 'that regex'.