Могу ли я выровнять переменные в строке с помощью echo и bash? - PullRequest
9 голосов
/ 03 марта 2010

Я хочу выполнить форматирование с использованием echo в сценариях оболочки.

Вот небольшой фрагмент кода, который дает мне проблему:

echo -en "\rFileName    :   $filename   :    $index of $lines Completed"

$filename - это строка различной длины, и это вызывает проблемы с форматированием в терминале. Как я могу преодолеть это?

Вот что я имею в виду:

FileName :       a800_102 :    6 of 6 Completed
FileName :       ersf_1024    :    56 of 56 Completed

Я хотел бы иметь табличный формат при отображении его на терминале.

1 Ответ

15 голосов
/ 03 марта 2010

Использование printf :

printf "\rFileName : %20s : %8d of %8d Completed" $filename $index $lines
...