我想在gzip文件的一列中返回唯一项的数量。 要对普通文件进行排序,我知道您可以使用以下内容:
sort -u -t, -k1,1 filename | wc -l
但是当我在gzip文件上运行时,我得到:
?BC??\ks?ʑ???
在给定gzip文件的情况下,是否可以更改此格式以查找列中的唯一项?
答案 0 :(得分:2)
好的,所以我真的想通了!
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
答案 1 :(得分:1)
gzip
程序包附带zcat
程序,其工作方式与cat
类似,但适用于gz文件。
zcat filename | sort -u -t -k1,1
答案 2 :(得分:0)
您无法在压缩文件上运行搜索和排序命令,您必须提取压缩文件,然后在输出gzip命令时运行命令。
您可以尝试以下命令
gunzip -c filename | sort -u -t -k1,1