将两个(或多个)多行变量放在彼此旁边bash

时间:2017-03-31 06:31:08

标签: bash formatting

假设我有3个变量,每个变量都有一个多行输出,如下所示:

IPs="10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4"

MACs="08:16:E9:3D:12:D5
C6:70:A5:25:FF:58
42:96:ED:C8:D5:80
05:89:C6:37:68:9B"

Vendors="Apple
Intel
Sagemcom
HP"

我希望将它们放在一起,就像这样:

10.0.0.1 08:16:E9:3D:12:D5 Apple
10.0.0.2 C6:70:A5:25:FF:58 Intel
10.0.0.3 42:96:ED:C8:D5:80 Sagemcom
10.0.0.4 05:89:C6:37:68:9B HP

我该怎么做?

2 个答案:

答案 0 :(得分:1)

使用粘贴和bash:

paste -d " " <(echo "$IPs") <(echo "$MACs") <(echo "$Vendors")
10.0.0.1 08:16:E9:3D:12:D5 Apple
10.0.0.2 C6:70:A5:25:FF:58 Intel
10.0.0.3 42:96:ED:C8:D5:80 Sagemcom
10.0.0.4 05:89:C6:37:68:9B HP

答案 1 :(得分:0)

我们在macOS(BSD)上也是:

rs 3 <<<"$IPs $MACs $Vendors" | rs -C' ' -T
10.0.0.1 08:16:E9:3D:12:D5 Apple 
10.0.0.2 C6:70:A5:25:FF:58 Intel 
10.0.0.3 42:96:ED:C8:D5:80 Sagemcom 
10.0.0.4 05:89:C6:37:68:9B HP