我有多个要逐列合并的文本文件。
例如:
文件1
0.698501 -0.0747351 0.122993 -2.13516
文件2
-5.27203 -3.5916 -0.871368 1.53945
我希望输出文件像这样:
0.698501, -5.27203
-0.0747351, -3.5916
0.122993, -0.871368
-2.13516, 1.53945
有没有一线的bash可以做到这一点?
我将不胜感激。 ---林兹(Lyndz)
答案 0 :(得分:2)
使用awk:
awk '{if(NR==1) {split($0,a1," ")} else {split($0,a2," ")}} END{for(i in a2) print a1[i] ", " a2[i]}' file1 file2
输出:
0.698501, -5.27203 -0.0747351, -3.5916 0.122993, -0.871368 -2.13516, 1.53945
答案 1 :(得分:1)
paste <(cat file1 | sed -E 's/ +/&,\n/g') <(cat file2 | sed -E 's/ +/&\n/g') | column -s $',' -t | sed -E 's/\s+/, /g' | sed -E 's/, $//g'
它有点复杂,但我想它也可以用更简单的方式完成。
P.S:请查找每个命令的手册页,以了解它们的作用。