Проблема расширения переменных в Linux? - PullRequest
3 голосов
/ 25 ноября 2010

Я хотел бы получить последовательность чисел, как это 01,02, .., 30 Но если я использую {01..30}, я получу 1,2, .. 30, ноль перед отсутствием однозначного числа. Как я могу получить формат как 01,02..30? Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 25 ноября 2010

В Bash4 ваше {01..30} расширение фигурной скобки фактически работает так, как вы хотите.Если вы используете Bash3 или ниже, вы можете использовать встроенную функцию printf вместе с расширением скобок, чтобы получить то, что вы хотите, не прибегая к внешним командам.

$ printf "%02d " {1..20}
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
1 голос
/ 25 ноября 2010

seq -w 1 30  # ought to work

как в:


for number in $(seq -w 1 30); do
 touch /tmp/bleah$number.dat
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...