【发布时间】:2016-04-04 02:20:00
【问题描述】:
我在一个目录中有 100 多个制表符分隔文件,我想将每个文件的第二列合并到一个文件中。
我试图像这样使用paste:
paste -d" " *.tsv >> result.tsv
它附加了所有内容,我不知道如何将awk '{print $2}' 应用于它。谁能建议如何处理这样的任务?
示例输入:
文件1
1 2 3 4
2 3 4 5
文件2
3 4 5 6
5 6 7 8
文件 3
7 6 5 6
2 3 4 4
所需的输出文件:
2 4 6
3 6 3
【问题讨论】:
-
paste file1 file2 file3 | awk '{ print $2 " " $6 " " $10 }' -
我需要通用的通配符解决方案,所以我可以申请任意数量的文件
-
所有文件都有4列吗?
-
所有文件都有9列,我简化了例子
-
paste file1 file2 file3 | awk '{for(i=2i<=NF;i+=9) printf "%s ", $i; print ""}'?