bash + 같은 줄에 출력 값을 결합하는 방법

bash + 같은 줄에 출력 값을 결합하는 방법

두 개의 배열 변수가 있습니다.

linux_machines

디스크

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

neptun1
neptun2
neptun3

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

4
5
5

두 개의 배열 값을 결합하여 다음과 같은 예상 결과를 얻는 방법

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

관련 정보