
다음과 같은 목록을 표시하고 싶습니다.
| A | B |
Item #1 | 291+4 | 56145+3 |
Item #2 | 7391+92 | 105+6067 |
하지만 그것은 다음과 같습니다
| A | B |
Item #1 | 291+4 | 56145+3 |
Item #2 | 7391+92 | 105+6067 |
~와 함께
listing variables example values
item_1_a="291"
item_1_a_diff="4"
item_1_b="56145"
item_1_b_diff="3"
item_2_a="7391"
item_2_a_diff="92"
item_2_b="105"
item_2_b_diff="6067"
for i in "${array[@]}"
do
normally acquiring items values occurs here
...
item_a="$item_1_a+$item_1_a_diff"
item_b="$item_2_a+$item_2_a_diff"
prinft "Item \#%s | %-9s | %-9s |" $i $item_a $item_b`
done
그래서 문제는 두 개의 변수를 단일 열에 깔끔하게 넣는 방법입니다.
답변1
문제는 탭 대신 공백으로 각 줄의 서식을 지정했다는 것입니다. 줄을 변경하여 :
prinft "Item \#%s | %-9s | %-9s |" $i $item_a $item_b`
에게
prinft "Item \#%s | %-9s\t| %-9s\t|" $i $item_a $item_b`
열이 정렬되어야 합니다. 변수의 길이 차이가 크고 탭을 사용해도 여전히 열이 정렬되지 않으면 다음 명령을 사용해 보세요.열.