首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过列组合不同长度和多列的多个文本文件

如何通过列组合不同长度和多列的多个文本文件
EN

Ask Ubuntu用户
提问于 2019-03-26 20:14:19
回答 1查看 517关注 0票数 3

我有60个不同长度和相同列名的文本文件。

例如:

代码语言:javascript
复制
cat Sample_145_Chimeric.out.junction.new.back_spliced_junction.bed.Circexplorer2.txt | gawk '{print $14}' | sort | uniq -c
  19258 circRNA
    612 ciRNA

cat Sample_146_Chimeric.out.junction.new.back_spliced_junction.bed.Circexplorer2.txt | gawk '{print $14}' | sort | uniq -c
  17791 circRNA
    729 ciRNA

cat Sample_147_Chimeric.out.junction.new.back_spliced_junction.bed.Circexplorer2.txt | gawk '{print $14}' | sort | uniq -c
  22838 circRNA
    686 ciRNA

cat Sample_148_Chimeric.out.junction.new.back_spliced_junction.bed.Circexplorer2.txt | gawk '{print $14}' | sort | uniq -c
  19404 circRNA
    475 ciRNA

我希望为所有标识的circRNAs生成一个“主”表,其中readnumber作为每个示例的列,flankintron作为行名:

EN

回答 1

Ask Ubuntu用户

发布于 2019-03-26 20:43:40

如果所有文件中的所有列都以相同的顺序排列,那么只需将它们与>>连接起来:

代码语言:javascript
复制
for x in {1..60}; do 
    # These flags for tail just cut of the top line, which is your headers
    tail -n 2 Sample_$x_blah.txt >> Sample_master.txt
    # and the double carat makes the output append^ 
done 

如果没有,那么您可以像上面那样用awk编写翻译,即

代码语言:javascript
复制
$ cat Sample_1.txt 
col1,col2,col3,col4 #etc 
$ cat Sample_2.txt 
col4,col3,col2,col1 
$ cat Sample_1.txt > Sample_Master.txt # no translation needed
$ awk '{print $4","$3","$2","$1 }' Sample_2.txt >> Sample_Master.txt 

但是对于60个文件,这将比使用python的csv编写python脚本的工作量更大.

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

https://askubuntu.com/questions/1128946

复制
相关文章

相似问题

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