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

 丹丹2502912601 发布于 2023-01-30 12:41

如何从文件中删除多个标头?我从如何在Unix中删除文件中的重复行后,尝试使用以下代码?.

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

它正在删除文件中的所有重复记录.但在我的情况下,我只需要删除标题重复项,而不是文件中的重复记录.例如,我有一个包含以下数据的文件:

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

tripleee.. 10

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

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

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

1 个回答
  • 如果您知道第一行包含标题,则只需删除该标题的所有其他实例.

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

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

    2023-01-30 12:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有