在linux中合并多个文件中的列
我有一个文件夹,大约有1000个以制表符分隔的文本文件。 我的文件的一半称为sampleX.features.tab,另一半称为sampleX.scores.tab 每个文件的“sampleX”都不同。因此有:在linux中合并多个文件中的列,linux,Linux,我有一个文件夹,大约有1000个以制表符分隔的文本文件。 我的文件的一半称为sampleX.features.tab,另一半称为sampleX.scores.tab 每个文件的“sampleX”都不同。因此有: sample1.features.tab sample1.scores.tab sample2.features.tab sample2.scores.tab sample3.features.tab sample3.scores.tab 所有文件的行数相同 我想从每个.feature
sample1.features.tab
sample1.scores.tab
sample2.features.tab
sample2.scores.tab
sample3.features.tab
sample3.scores.tab
所有文件的行数相同
我想从每个.features.tab中提取一些列
cut -f1,5,9,10,19,20
我想从每个.scores.tab中提取两列
cut -f1,7
然后我想将所有这些列合并到一个名为“sampleX.final.tab”的新文件中(因此sample1.final.tab、sample2.final.tab,…)
这就是我被困的地方。在Linux中如何将这些东西连接在一起?一种方法是将剪切文件的输出连接到管道中:
cut -f1,5,9,10,19,20 sample1.features.tab > features1
cut -f1,7 sample1.scores.tab > scores1
然后通过以下方式将它们粘贴在一起:
paste features1 scores1
对1000个文件执行此操作时,我会编写一个脚本,循环遍历文件名
更新:上面的解决方案可能是最容易记住的(有点直观)。但是,如果需要动态组合来自不同文件的列(例如,当使用gnuplot打印时),用户liborn的答案是有效的,即
paste <( cut -f... file1 ) <( cut -f... file 2)
粘贴一种方法是通过管道将剪切输出到文件中:
cut -f1,5,9,10,19,20 sample1.features.tab > features1
cut -f1,7 sample1.scores.tab > scores1
然后通过以下方式将它们粘贴在一起:
paste features1 scores1
对1000个文件执行此操作时,我会编写一个脚本,循环遍历文件名
更新:上面的解决方案可能是最容易记住的(有点直观)。但是,如果需要动态组合来自不同文件的列(例如,当使用gnuplot打印时),用户liborn的答案是有效的,即
paste <( cut -f... file1 ) <( cut -f... file 2)
粘贴一种方法是通过管道将剪切输出到文件中:
cut -f1,5,9,10,19,20 sample1.features.tab > features1
cut -f1,7 sample1.scores.tab > scores1
然后通过以下方式将它们粘贴在一起:
paste features1 scores1
对1000个文件执行此操作时,我会编写一个脚本,循环遍历文件名
更新:上面的解决方案可能是最容易记住的(有点直观)。但是,如果需要动态组合来自不同文件的列(例如,当使用gnuplot打印时),用户liborn的答案是有效的,即
paste <( cut -f... file1 ) <( cut -f... file 2)
粘贴一种方法是通过管道将剪切输出到文件中:
cut -f1,5,9,10,19,20 sample1.features.tab > features1
cut -f1,7 sample1.scores.tab > scores1
然后通过以下方式将它们粘贴在一起:
paste features1 scores1
对1000个文件执行此操作时,我会编写一个脚本,循环遍历文件名
更新:上面的解决方案可能是最容易记住的(有点直观)。但是,如果需要动态组合来自不同文件的列(例如,当使用gnuplot打印时),用户liborn的答案是有效的,即
paste <( cut -f... file1 ) <( cut -f... file 2)
paste这里有一个awk
脚本来执行此操作(注意每对文件都需要放入内存):
这里有一个awk
脚本来执行此操作(注意,每对文件都需要放入内存中):
这里有一个awk
脚本来执行此操作(注意,每对文件都需要放入内存中):
这里有一个awk
脚本来执行此操作(注意,每对文件都需要放入内存中):
你在找我。在Bash中,您可以执行以下操作:
paste \
<( cut -f1,5,9,10,19,20 sample1.features.tab )\
<( cut -f1,7 sample1.scores.tab )\
> sample1.out
粘贴\
你在找我。在Bash中,您可以执行以下操作:
paste \
<( cut -f1,5,9,10,19,20 sample1.features.tab )\
<( cut -f1,7 sample1.scores.tab )\
> sample1.out
粘贴\
你在找我。在Bash中,您可以执行以下操作:
paste \
<( cut -f1,5,9,10,19,20 sample1.features.tab )\
<( cut -f1,7 sample1.scores.tab )\
> sample1.out
粘贴\
你在找我。在Bash中,您可以执行以下操作:
paste \
<( cut -f1,5,9,10,19,20 sample1.features.tab )\
<( cut -f1,7 sample1.scores.tab )\
> sample1.out
粘贴\
如何将功能
和分数
组合成最终
?功能中的一行是否对应于分数中的一行?是的,确实如此。如何将功能
和分数
组合成最终
?功能中的一行是否对应于分数中的一行?是的,确实如此。如何将功能
和分数
组合成最终
?功能中的一行是否对应于分数中的一行?是的,确实如此。如何将功能
和分数
组合成最终
?功能
中的一行是否与分数
中的一行相对应?是的,确实如此。你以分钟击败我:)你以分钟击败我:)你以分钟击败我:)你以分钟击败我:)虽然这在文件名中有空格的问题,但这是一个很好的解决方案。我的目标是“语法”的最低子集,可以解决OP的问题问题“为简洁起见省略引号。”;)虽然这在文件名中有空格的问题,但这是一个很好的解决方案。我的目标是找到解决OP问题的“语法”的最低子集。“为简洁起见省略引号。”;)虽然这在文件名中有空格的问题,但这是一个很好的解决方案。我的目标是找到解决OP问题的“语法”的最低子集。“为简洁起见省略引号。”;)虽然这在文件名中有空格的问题,但这是一个很好的解决方案。我的目标是找到解决OP问题的“语法”的最低子集。“为简洁起见省略引号。”;)