2013-12-05 4 views
0

Привет Я пишу скрипт bash и имею несколько переменных int. То, что я пытаюсь сделать, это заставить их иметь длину 6, когда я их повторяю. Я не уверен, как это сделать, если сказать, что длина переменной равна 2, или если я снова запустил сценарий, а переменная имеет более короткую или более длинную длину.Выполнение строки всегда должно быть длиной n

ответ

1

Используйте Printf раздуть значение до нужной длины:

printf '%06d\n' "$value"  # pad with 0's 
printf '%6d\n' "$value"  # pad with spaces, right aligned 
printf '%-6d\n' "$value"  # pad with spaces, left aligned 

Если вы работаете с номерами было бы немного необычно, чтобы лишить лишние цифры. Но если вы захотите, вы можете отобразить только первые 6:

printf '%06d\n' "${value::6}" 
Смежные вопросы