
次のようなリストを表示したいです:
| 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
問題は、2 つの変数を 1 つの列にきちんと収めるにはどうすればよいかということです。
答え1
問題は、各行をタブではなくスペースでフォーマットしたことです。次の行を変更します。
prinft "Item \#%s | %-9s | %-9s |" $i $item_a $item_b`
に
prinft "Item \#%s | %-9s\t| %-9s\t|" $i $item_a $item_b`
列は揃える必要があります。変数の長さが大きく異なり、タブを使用しても列が揃わない場合は、コマンドの使用を検討してください。カラム。