Пакетное переименование каталогов?

У меня есть несколько каталогов с форматом года, месяца и дня, за которыми следует описание события. Например: «2012 05 26 - EventA», «2012 05 26 - EventB». Я хотел бы переименовать все эти каталоги, чтобы пробелы между числами в дате были заменены на тире. Таким образом, «2012 05 26 - EventA» становится «2012-05-26 - EventA». Я знаю, что могу делать эту папку по очереди с помощью команды mv, но есть ли способ сделать это в пакетном процессе с использованием символов подстановки?

6
задан 26 May 2012 в 22:35

5 ответов

5
ответ дан 26 May 2012 в 22:35

Использование переименовывает-n опция протестировать изменения):

rename 'm/(\d{4}) (\d{2}) (.*)/;$_="$1-$2-$3"' *

Переименуйте обеспечивается жемчугом, таким образом, Вы, возможно, должны установить его (не знайте, является ли это часть запаса установка Ubuntu):

sudo apt-get install perl
0
ответ дан 26 May 2012 в 22:35

Вы также можете использовать mmv.

sudo aptitude install mmv

#> mmv "201? * * - Event?" "201#1-#2-#3 - Event#4"

0
ответ дан 26 May 2012 в 22:35

Вы не можете переименовать пакетные файлы с помощью команды mv. Вам нужно написать сценарии оболочки, вы можете получить сценарии, выполнив поиск в Google, или вы можете использовать инструменты, упомянутые выше.

0
ответ дан 26 May 2012 в 22:35

Я хотел переименовать несколько каталогов (папок, а не файлов) и не мог понять, возможно ли это с помощью pyRenamer. GPRename ( http://gprename.sourceforge.net/ ) делает это довольно хорошо, хотя.

Пользователи Ubuntu должны иметь GPRename в своих репозиториях и могут запустить эту команду для установки GPRename:

sudo apt-get install gprename

0
ответ дан 26 May 2012 в 22:35

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

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