水平合并两个文件并进行格式化

vis*_*akh 4 unix paste

我有两个文件,如下所示:

文件_1

Austin
Los Angeles
York
San Ramon
Run Code Online (Sandbox Code Playgroud)

文件_2

Texas
California
New York
California
Run Code Online (Sandbox Code Playgroud)

我想将它们水平合并,如下所示:

Austin       Texas
Los Angeles  California
York         New York
San Ramon    California
Run Code Online (Sandbox Code Playgroud)

我可以通过使用paste命令水平合并,但是格式变得很麻烦。

Austin Texas
Los Angeles California
York New York
San Ramon California
Run Code Online (Sandbox Code Playgroud)

我意识到它paste正在按预期的方式工作,但是有人可以向我指出正确的方向来正确设置格式。

谢谢。

Chr*_*ris 5

“合并”文件时,paste使用选项卡,因此也许您必须对文件进行后处理并删除带有空格的选项卡:

paste File_1 File_2 | awk 'BEGIN { FS = "\t" } ; {printf("%-20s%s\n",$1,$2) }'
Run Code Online (Sandbox Code Playgroud)

结果:

Austin              Texas
Los Angeles         California
York                New York
San Ramon           California
Run Code Online (Sandbox Code Playgroud)