У меня есть каталог, состоящий из нескольких файлов. Имя файла выглядит следующим образом:
0102920.05o
0203920.05o
0304920.05o
....
Мне нужно добавить «0» для всех файлов после первых 4 чисел, как;
01020920.05o
02030920.05o
03040920.05o
Есть ли способ сделать это с помощью bash или perl?
Использование, которое Видит эта команда
rename -n -v 's/(.{4})(.*)/${1}0${2}/' *
, является ли результат тем, что Вы хотите, удалите -n
и -v
опции.
принимают это простое управление:
rename 's/pattern/result/' filename(s)
Шаблон может быть regex. Так, мы можем принять другое участие текста (который является именем файла). Если Вы не понимаете это, Google для regex.
Так в команде я предлагаю в шаблоне, она делит имя файла на две части: первая часть, которая является первой четыре символа и вторая часть, является остальными.
Теперь в части результата, мы вставляем первую часть, добавляем один 0 и затем добавляем вторую часть. Настолько простой.
, Если можно сделать надлежащий regex, можно легко сделать, объем переименовывает.
что-то как этот может добиться цели в ударе для всех файлов в текущем каталоге
for filename in *;do
mv "$filename" "${filename:0:4}0${filename:5:11}"
done
libopus
, I' ll отправляют вывод. – Sarah Szabo 3 July 2017 в 08:44