Tul*_*ova 15 text-processing columns paste
我有以下两个文件(我用点填充行,因此文件中的每一行都具有相同的宽度,并使 file1 全部大写以使其更清晰)。
contents of file1:
ETIAM......
SED........
MAECENAS...
DONEC......
SUSPENDISSE
contents of file2
Lorem....
Proin....
Nunc.....
Quisque..
Aenean...
Nam......
Vivamus..
Curabitur
Nullam...
Run Code Online (Sandbox Code Playgroud)
请注意,file2 比 file1 长。
当我运行此命令时:
paste file1 file2
Run Code Online (Sandbox Code Playgroud)
我得到这个输出
ETIAM...... Lorem....
SED........ Proin....
MAECENAS... Nunc.....
DONEC...... Quisque..
SUSPENDISSE Aenean...
Nam......
Vivamus..
Curabitur
Nullam...
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能使输出如下?
ETIAM...... Lorem....
SED........ Proin....
MAECENAS... Nunc.....
DONEC...... Quisque..
SUSPENDISSE Aenean...
Nam......
Vivamus..
Curabitur
Nullam...
Run Code Online (Sandbox Code Playgroud)
我试过
paste file1 file2 | column -t
Run Code Online (Sandbox Code Playgroud)
但它这样做:
ETIAM...... Lorem....
SED........ Proin....
MAECENAS... Nunc.....
DONEC...... Quisque..
SUSPENDISSE Aenean...
Nam......
Vivamus..
Curabitur
Nullam...
Run Code Online (Sandbox Code Playgroud)
不像原始输出那么难看,但无论如何都是错误的。
Mar*_*ick 19
假设您的文件中没有任何制表符,
paste file1 file2 | expand -t 13
Run Code Online (Sandbox Code Playgroud)
with the arg to -t
suitably chosen to cover the desired max line width in file1.
OP 增加了一个更灵活的解决方案:
我这样做了,所以它可以在没有神奇数字 13 的情况下工作:
paste file1 file2 | expand -t $(( $(wc -L <file1) + 2 ))
Run Code Online (Sandbox Code Playgroud)
输入并不容易,但可以在脚本中使用。