unix - 水平合并两个文件并格式化

标签 unix paste

我有两个文件如下:

文件_1

Austin
Los Angeles
York
San Ramon

文件_2
Texas
California
New York
California

我想水平合并它们如下:
Austin       Texas
Los Angeles  California
York         New York
San Ramon    California

我可以使用 paste 进行水平合并命令,但格式正在失控。
Austin Texas
Los Angeles California
York New York
San Ramon California

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

谢谢。

最佳答案

paste 在“合并”文件时使用制表符,因此您可能必须对文件进行后处理并删除带有空格的制表符:

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

结果:
Austin              Texas
Los Angeles         California
York                New York
San Ramon           California

关于unix - 水平合并两个文件并格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11795181/

相关文章:

unix - SSH portforwarding UNIX

unix - 在 Unix 中将一个 txt 的最后 10000 行打印到另一个 txt 中

linux - 我明白/dev/urandom 了吗?

python - 如何禁用控制字符的 shell 拦截?

javascript - jQuery 粘贴输入的 URL 验证

python - 什么是粘贴脚本?

linux - xls 到文本转换器

java - 我将如何从系统剪贴板粘贴到java中的任意窗口?

xml - 将图像粘贴到 XML/源代码/纯文本中?

r - 在 R 中将多行粘贴在一起