显示2个输出作为2个单独的列| bash的

时间:2017-03-13 20:35:02

标签: linux bash

我有两个命令的两个输出:

comm1=`ip a | grep ens | grep -v lo | cut -d' ' -f2`

输出示例:

>eth1

并命令两个

comm2=`ip a | grep inet| grep -v inet6 | grep -v 127 | cut -d' ' -f6`

输出示例:

 >123.156.789
  234.167.290
  148.193.198
  138.25.49
  142.137.154
  125.175.166
  246.173.7
  154.167.67

期望的输出:

echo "$comm1 $comm2"
> eth1        123.156.789
              234.167.290
              148.193.198
              138.25.49
              142.137.154
              125.175.166
              246.173.7
              154.167.67

如果那是单行输出,那么列-t工作正常,

echo "$comm1 $comm2" | column -t

但是在这种情况下,当其中一列是多行时,它不起作用.. 寻找有效的解决方案

编辑

2 个答案:

答案 0 :(得分:2)

您可以使用命令pasteprocess substitution,例如:

  $ paste <(comm1) <(comm2)

答案 1 :(得分:0)

您可能需要paste命令。

$ seq 1 3 > a.txt
$ seq 5 10 > b.txt
$ paste a.txt b.txt
1       5
2       6
3       7
        8
        9
        10