我有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
,但是如果值很大,则输出会被修剪,我需要根据值的长度显示内容,并且应该并排显示内容(逐列显示)
答案 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)
根据您的问题填写nbari:
paste test1 test2 test3 | column -t
P.S。对于大于屏幕尺寸的列:
paste test1 test2 test3 | column -t| less -S