我想将两个文件粘贴在一起,但在部分分隔符行之后垂直对齐::
。这就是我的意思。
的内容file1
:
Apple
Banana
Carrot
::
Durian
的内容file2
:
Energy
Flight
::
Gravity
Heartbreak
期望的输出:
Apple Energy
Banana Flight
Carrot
::
Durian Gravity
Heartbreak
到目前为止,我知道几乎paste
可以做我想做的事(没有很好的垂直对齐);另一种选择是拆分并分成多个文件,然后将结果连接在一起,但我想尽可能避免这种情况。我怎样才能做到这一点?file1
file2
我并不严格需要使用paste
. 任何有效的方法!
使用任何 awk:
这是一个非常hackish 的解决方案,适用于您的示例数据,因为这两个文件只有
::
共同的行,并且因为文件只包含单个单词(没有空格)。因此,我认为它非常脆弱,一点也不通用。它解析并排
diff
输出,因此它是diff
垂直对齐的。解析输出的
awk
代码根据字段数和数据某些部分的内容输出每行的选定部分。diff -y