使用bash合并两个文件的所有列

问题描述 投票:0回答:1

我有两个文件

A B C D E F
B D F A C E
D E F A B C

1 2 3 4 5 6
2 4 6 1 3 5
4 5 6 1 2 3

我想要这样的东西:

A1 B2 C3 D4 E5 F6
B2 D4 F6 A1 C3 E5
D4 E5 F6 A1 B2 C3

我的意思是,合并两个文件,粘贴所有列的内容。

非常感谢!

linux paste combine
1个回答
0
投票

这里是bash解决方案:

paste -d' ' file1 file2 \
| while read -a fields ; do
      (( width=${#fields[@]}/2 ))
      for ((i=0; i<width; ++i)) ; do
          printf '%s%s ' "${fields[i]}" "${fields[ i + width ]}"
      done
      printf '\n'
done
© www.soinside.com 2019 - 2024. All rights reserved.