Я хочу добавить пробел в конце каждой строки. Количество пробелов в переменной. Если число пробелов фиксировано, то я могу использовать эту команду

sed 's/$/  /g'

для двух мест.

space_variable=4;

Но если число пробелов является переменным (space_variable = 4), то как я могу его использовать?

1 ответ1

1
spaces=$(printf "%*s" "$space_variable" "")

Это вернет пустую строку с пробелами в поле шириной N символов.

Тогда: sed "s/\$/$spaces/"

В Bash вы можете использовать встроенный

printf -v spaces "%*s" "$space_variable" ""

но я нахожу это менее читабельным, поскольку оно несколько скрывает имя переменной.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .