如何并排打印多个文件的输出

时间:2018-07-24 09:45:07

标签: linux

我有4个文件说:

cat test1
1 
2   
3

cat test2
4  
5  
6  

cat test3
7  
8  
9  

我需要并排显示以下内容:

1  4  7  
2  5  8  
3  5  9

我尝试了pr -m -t test1 test2 test3,但是如果值很大,则输出会被修剪,我需要根据值的长度显示内容,并且应该并排显示内容(逐列显示)

4 个答案:

答案 0 :(得分:2)

您可以像这样简单地完成操作:

cat *.txt | paste -d " " - - - | sed 's/_//g'

答案 1 :(得分:1)

尝试尝试paste,例如:

$ cat test1 test2 test3 | paste -d " " - - -

从男人那里:

  

如果为一个或多个输入文件指定了-,则使用标准输入。对于-的每个实例,一次循环读取一次标准输入。

因此,如果您不关心顺序,并且假设您想使用所有*.txt文件,则只需执行以下操作:

$ paste -d " " *.txt

您也可以使用lam

$ lam test1 -s " " test2 -s " " test3

两个示例都使用空格作为分隔符" "并输出:

1 4 7
2 5 8
3 6 9

答案 2 :(得分:1)

您可以使用此命令在打印时不会截断列值:

pr -mJ test1 test2 test3 --sep-string =“ ||”

答案 3 :(得分:0)

根据您的问题填写nbaripaste test1 test2 test3 | column -t

P.S。对于大于屏幕尺寸的列: paste test1 test2 test3 | column -t| less -S