【shell笔记>命令|实战】zcat与awk简单连用

有些数据文件太大,一般采用gzip压缩,比如我现在处理的ICGC数据。下载1到2G,一解压感觉要炸。其实文件里面的信息很多,我们需要的往往只有几个域而已。这时候我们可以通过zcatawk连用省去中间的解压过程直接提取出我们想要的域(类似R中数据框的列向量)。

比如下面我提取出压缩文件中的前两个域并以tab分隔输出。

wangshx@wangshx-KVM:~/projects/Mut-Signature/dataset$ zcat simple_somatic_mutation.open.tsv.gz | head | awk 'BEGIN{OFS="\t";} {print $1,$2}'
icgc_mutation_id    icgc_donor_id
MU28469596  DO50633
MU28469596  DO50633
MU28469596  DO50633
MU28469596  DO50633
MU28469596  DO50633
MU28469596  DO50633
MU28469596  DO50633
MU28469596  DO50633
MU28469596  DO50633

我们还可以通过FS来指定输入的分隔符。

zcat simple_somatic_mutation.open.tsv.gz | head | awk 'BEGIN{FS="\t";OFS="\t";} {print $1,$2}'

这样awk会以tab键区分输入文件的域,不然默认用空格键。

zcat

awk

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容