【问题标题】:Find uniq items in column of gzip file在 gzip 文件的列中查找唯一项目
【发布时间】:2016-02-18 13:54:03
【问题描述】:

我想在我的 gzip 文件的一列中返回唯一项目的数量。 要对普通文件进行排序,我知道您可以使用以下内容:

sort -u -t, -k1,1 filename | wc -l

但是当我在 gzip 文件上运行它时,我得到:

?BC??\ks?ʑ???

如果给定一个 gzip 文件,是否可以更改此格式以查找列中的唯一项目?

【问题讨论】:

    标签: sorting gzip unique


    【解决方案1】:

    好吧,我真的想通了!

    gzcat vcf_del.vcf.gz | cut -f 2 | sort | uniq | wc -l(zcat 也可以)

    然后,如果您不想要文件的某些部分(例如在 VCF 文件中,有一系列带有“#”的行),您可以简单地删除它们:

    gzcat vcf_del.vcf.gz | awk '!/^#/{print $0}' | cut -f 2 | sort | uniq | wc -l

    【讨论】:

      【解决方案2】:

      gzip 程序包附带 zcat 程序,它的工作方式与 cat 类似,但适用于 gz 文件。

      zcat filename | sort -u -t -k1,1
      

      【讨论】:

      • 所以我认为命令实际上是gzcat filename | sort -u -t -k1,1
      • 很高兴听到它:) 如果这解决了您的问题,您应该接受答案
      【解决方案3】:

      你不能在压缩文件上运行搜索和排序命令,你必须提取压缩文件然后在 gzip 命令的输出上运行你的命令。

      你可以试试下面的命令

      gunzip -c filename | sort -u -t -k1,1
      

      【讨论】:

      • 这似乎解压了文件,对吗?我只是想查看排序,而不是更改文件本身。
      • 这会将您的文件内容分类到 gz 文件中并打印排序。它不会修改您的文件。
      猜你喜欢
      • 2018-12-29
      • 1970-01-01
      • 2017-03-19
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多