Добавление нулевого заполнения к имени файла с bash - PullRequest
1 голос
/ 02 апреля 2020

У меня есть каталог, полный папок с именами, например, «Week1», «Week2», ..., «Week9», и теперь я подошел к точке, где мне нужна Week10. Не предвидя этой проблемы заранее, теперь мне нужно переименовать все мои каталоги в «Week01», «Week02», ..., «Week09».

Обычно я делаю это вручную, но я знаю, Достаточно о терминале MacOS bash, чтобы знать, что я должен быть в состоянии выполнить sh это с чем-то вроде

for f = Week[1-9]; do
   mv $f something something
done

Но я не знаю, что положить в «что-то что-то», чтобы изменить имена как я хочу. Как я могу вставить нули в мои имена файлов?

Ответы [ 2 ]

1 голос
/ 02 апреля 2020

Или вот так

for D in Week[1-9]; { mv $D ${D//k/k0}; }
1 голос
/ 02 апреля 2020

Использование printf(1)!

for OLD in {1..9}
do
    NEW=$(printf %02d ${OLD})
    mv Week${OLD} Week${NEW}
done
...