bash +同じ行に出力値を結合する方法

bash +同じ行に出力値を結合する方法

2つの配列変数があります。

linux_machines

ディスク

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

neptun1
neptun2
neptun3

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

4
5
5

2つの配列値を組み合わせて次の予想結果を得る方法

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

答え1

バッシュ使用:

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

出力:

ネプチューン1.....4
ネプチューン2.....5
ネプチューン3.....5

どちらの配列もフィールド番号にギャップがないと仮定します。

答え2

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

答え3

同じ結果を得るには、以下の方法を使用してください。


for i in 0 1 2; do echo ${linux_machines[$i]]}" ...... "${disks[$i]}; done 

出力

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

関連情報