Как получить несколько переменных в одном аккуратном столбце?

Как получить несколько переменных в одном аккуратном столбце?

Я хочу отобразить такой список:

        | 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`

столбцы должны быть выровнены. Если переменные имеют большую разницу в длине, а использование табуляции все еще не выравнивает столбцы, рассмотрите возможность использования командыстолбец.

Связанный контент