0

我有 3 个文件。

cat file1 
A
B
C

cat file2
2
3
4

cat file3
a
b
c

我需要像这样将它们合并到文件中。

输出:

  file1  file2  file3
  A      2      a 
  B      3      b
  C      4      c

我怎么能在shell脚本中做。

问候

4

2 回答 2

3

paste是你的朋友

{ echo "file1\tfile2\tfile3" 
   paste file1 file2 file3 ; } > newOutFile

\t它们是制表符,如果您想要不同的字段分隔符,只需更改它即可。(如果您想要间隔良好的列与文件中最宽值的宽度相同,那么您将需要一个更复杂的解决方案。对于这种情况,请发布一个新问题)。

请注意,这{ ... }称为进程组,并且进程组中的最后一个命令必须与结束}字符分开,并用;.

查看手册页以获取一些选项。

IHTH

于 2013-01-30T02:18:26.587 回答
2
paste file1 file2 file3

默认情况下,它们将由制表符分隔;-d您可以使用选项更改分隔符。使用重定向保存到另一个文件而不是打印到标准输出。

于 2013-01-30T02:18:23.267 回答