Не навсегда, но есть сон
. Вы можете комбинировать свой цикл while
со спящим режимом - кажется, что он даже не щекочет процессоры в моем мониторе gkrellm
.
dr01 типы быстрее, чем я :) ... так что больше информации - ваш процессор скачет потому, что он должен постоянно обрабатывать логическую проверку без паузы между....
while true
do
sleep 100
done
Или в виде однострочника
, хотя это правда; спят 100; done
С Perl переименовать
:
prename 's/(\d+)/sprintf "%05d", $1/e' enum_*
Другой вариант bash:
#!/bin/bash
for fname in enum_*
do
IFS=_ read n d <<< $fname # splitting file name by separator `_`
mv "$fname" "$(printf '%s_%05d' $n $d)"
done
Используйте printf
для правильного форматирования числовой части имени в цикле:
for name in enum_*; do
mv -i -- "$name" "$( printf 'enum_%05d' "${name#*_}" )"
done
${name#*_}
расширится до числовой части исходного имени, т.е. 73
вместоenum_73
(удалит все до первой _
включительно в имени ). Строка форматирования enum_%05d
отформатирует это целое число так, чтобы оно стало заполненным нулем -пятизначным -числом с префиксом enum_
, то есть enum_00073
.