在 gzip 文件的列中查找唯一项
Find uniq items in column of gzip file
我想 return 我的 gzip 文件的一列中的唯一项目数。
要对普通文件进行排序,我知道你可以使用类似的东西:
sort -u -t, -k1,1 filename | wc -l
但是当我在 gzip 文件中 运行 时,我得到:
?BC??\ks?ʑ???
是否可以更改此格式以在给定 gzip 文件的情况下查找列中的唯一项?
您不能 运行 在压缩文件上搜索和排序命令,您必须提取压缩文件,然后 运行 您在 gzip 命令的输出上执行命令。
你可以试试下面的命令
gunzip -c filename | sort -u -t -k1,1
gzip
软件包附带 zcat
程序,它的工作方式与 cat
类似,但适用于 gz 文件。
zcat filename | sort -u -t -k1,1
好吧,我真的想通了!
gzcat vcf_del.vcf.gz | cut -f 2 | sort | uniq | wc -l
(zcat 也可以)
如果文件中有您不想要的部分(例如在 VCF 文件中有一系列带有“#”的行),您可以简单地删除它们:
gzcat vcf_del.vcf.gz | awk '!/^#/{print [=11=]}' | cut -f 2 | sort | uniq | wc -l
我想 return 我的 gzip 文件的一列中的唯一项目数。 要对普通文件进行排序,我知道你可以使用类似的东西:
sort -u -t, -k1,1 filename | wc -l
但是当我在 gzip 文件中 运行 时,我得到:
?BC??\ks?ʑ???
是否可以更改此格式以在给定 gzip 文件的情况下查找列中的唯一项?
您不能 运行 在压缩文件上搜索和排序命令,您必须提取压缩文件,然后 运行 您在 gzip 命令的输出上执行命令。
你可以试试下面的命令
gunzip -c filename | sort -u -t -k1,1
gzip
软件包附带 zcat
程序,它的工作方式与 cat
类似,但适用于 gz 文件。
zcat filename | sort -u -t -k1,1
好吧,我真的想通了!
gzcat vcf_del.vcf.gz | cut -f 2 | sort | uniq | wc -l
(zcat 也可以)
如果文件中有您不想要的部分(例如在 VCF 文件中有一系列带有“#”的行),您可以简单地删除它们:
gzcat vcf_del.vcf.gz | awk '!/^#/{print [=11=]}' | cut -f 2 | sort | uniq | wc -l