Linux

bash + 如何在同一行中組合輸出值

  • December 27, 2017

我們有兩個數組變數:

linux_machines

磁碟

printf "%s\n" ${linux_machines[*]}

neptun1
neptun2
neptun3

printf "%d\n" ${disks_num[*]} 

4
5
5

如何組合兩個數組值,以便獲得以下預期結果

neptun1 ..... 4
neptun2 ..... 5
neptun3 ..... 5

paste+**printf**解決方案:

linux_machines=("neptun1" "neptun2" "neptun3")
disks=(4 5 5)
paste -d' ' <(printf "%s .....\n" "${linux_machines[@]}") <(printf "%d\n" "${disks[@]}")

輸出:

neptun1 ..... 4
neptun2 ..... 5
neptun3 ..... 5

使用 bash:

for i in ${!linux_machines[@]}; do echo "${linux_machines[$i]} ..... ${disks_num[$i]}"; done

輸出:

海王星1 ..... 4
海王星2 ..... 5
海王星3 ..... 5

我假設兩個數組在欄位編號中都沒有間隙。

引用自:https://unix.stackexchange.com/questions/413082