首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用不同的计数值组合多个文件

使用不同的计数值组合多个文件
EN

Stack Overflow用户
提问于 2015-09-22 18:20:01
回答 1查看 177关注 0票数 1

我想通过从每个文件中获取第二列来组合96个文件,并保留第一列,这在所有文件之间是相似的。我试着在R中做这件事,但是我认为它在终端上会更好。它用awk工作吗?

样本数据:

代码语言:javascript
复制
DMED7013:Rfam robinm$ head Rfam_Counts_combined_SplitRfam_Counts_combinedhtseq_Rfamoutput402R.sam
Seq_../trimmed/402R.tally.fasta __not_aligned
__too_low_aQual 3
mir-10 5
Y_RNA 4
__too_low_aQual 0
__too_low_aQual 0
__not_aligned 1
mir-8 2
mir-671 3
mir-671 16

档案:

代码语言:javascript
复制
DMED7013:Rfam robinm$ ls -l  
-rw-r--r--   1 robinm  staff  1711388 Sep 22 19:12 Rfam_Counts_combined_SplitRfam_Counts_combinedhtseq_Rfamoutput100G.sam
-rw-r--r--   1 robinm  staff  1712778 Sep 22 19:12 Rfam_Counts_combined_SplitRfam_Counts_combinedhtseq_Rfamoutput100R.sam
-rw-r--r--   1 robinm  staff  1709703 Sep 22 19:12 Rfam_Counts_combined_SplitRfam_Counts_combinedhtseq_Rfamoutput106G.sam
-rw-r--r--   1 robinm  staff  1707486 Sep 22 19:12 Rfam_Counts_combined_SplitRfam_Counts_combinedhtseq_Rfamoutput106R.sam
-rw-r--r--   1 robinm  staff  1704757 Sep 22 19:12 Rfam_Counts_combined_SplitRfam_Counts_combinedhtseq_Rfamoutput122G.sam
-rw-r--r--   1 robinm  staff  1705471 Sep 22 19:12 Rfam_Counts_combined_SplitRfam_Counts_combinedhtseq_Rfamoutput122R.sam
.....
EN

回答 1

Stack Overflow用户

发布于 2015-09-22 19:05:57

此脚本将满足您的需要。

代码语言:javascript
复制
 t0=mktemp; touch t0; 
 for f in prefix*.csv; 
     do paste t0 <(cut -d" " -f2 $f) > t1 && mv t1 t0; 
     done; 
 tr '\t' ' ' <t0 && rm t0

使用“剪切/粘贴”收集临时文件中的第二列;完成后,在打印结果后删除该临时文件。

若要保留第一列,请将touch t0更改为cut -d" " -f1 oneofthefiles.csv > t0

或者,去救援吧!

代码语言:javascript
复制
awk '
    {a[FNR]=a[FNR]?a[FNR] OFS $2:$1} 
 END{for(i=1;i<=FNR;i++) print a[i]}
    ' prefix*.csv

根据行号将所有文件中的第二个字段合并,从第一个文件中保留第一个字段。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32724105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档