Добавить букву перед предыдущим именем в папке. (Переименовать) [дублировать]

У меня есть несколько папок, и в каждой из них около 175 файлов. имена файлов похожи на

1.wav
2.wav
3.wav
......
175.wav 

. Я должен переименовать их как

A1.wav
A2.wav
A3.wav
......
A175.wav 

Другими словами, я должен добавить буквы в имена предыдущих файлов.

Мне интересно, есть ли простой способ сделать это.

Версия Ubuntu - 16.10

1
задан 7 June 2017 в 00:50

3 ответа

Есть много способов, моим собственным выбором будет цикл for:

for f in *.wav ; do mv "$f" "A$f" ; done

Это просто и легко модифицируется для других нужд ...

0
ответ дан 7 June 2017 в 00:50

Пользователь prename команда:

$ prename -nv 's/^(.*)$/A$1/' *.wav                    
1.wav renamed as A1.wav
2.wav renamed as A2.wav
3.wav renamed as A3.wav

Способ чтения очень прост:

  • *.wav позволяет оболочке расширять подстановочный знак до списка всех файлов этот конец с .wav. Когда оболочка выполнит полную команду, компьютер увидит prename -nv 's/^(.*)$/A$1/' 1.wav 2.wav 3.wav и т. Д. Как фактическую команду.
  • 's/^(.*)$/A$1/' на самом деле является s/PATTERN/REPLACEMENT регулярным выражением с группировкой (.*), что позволяет сгруппировать полное имя файла от начала ^ до конца $ и обращаться к нему как $1.

Обратите внимание, что переключатели -nv предназначены для многословного -v и сухого хода -n. Если вы довольны тестовым прогоном, удалите -n, чтобы применить фактическое переименование.

0
ответ дан 7 June 2017 в 00:50

Используя rename:

rename 's/([0-9]+).wav/A\1.wav/' *.wav
  • s/SEARCH-FOR/REPLACE-WITH/ within-this-files
  • ([0-9]+) содержит раздел числа затем, мы можем использовать его снова использование \1.
  • A\1.wav: A + (numberic раздел) + .wav
0
ответ дан 7 June 2017 в 10:50

Другие вопросы по тегам:

Похожие вопросы: