¿Cómo obtener múltiples variables dentro de una sola columna ordenada?

¿Cómo obtener múltiples variables dentro de una sola columna ordenada?

Quiero mostrar una lista como esta:

        | A         | B         |
Item #1 | 291+4     | 56145+3   |
Item #2 | 7391+92   | 105+6067  |

pero se parece a esto:

        | A         | B         |
Item #1 | 291+4 | 56145+3 |
Item #2 | 7391+92 | 105+6067 |

con

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

entonces la pregunta es, ¿cómo colocar dos variables claramente en una sola columna?

Respuesta1

El problema es que formateaste cada línea con espacios en lugar de tabulaciones. cambiando la línea:

    prinft "Item \#%s | %-9s | %-9s |" $i $item_a $item_b`

a

    prinft "Item \#%s | %-9s\t| %-9s\t|" $i $item_a $item_b`

las columnas deben estar alineadas. Si las variables tienen una gran diferencia de longitud y el uso de la tabulación aún no alinea las columnas, considere usar el comandocolumna.

información relacionada