2015-10-14 2 views
0

Мне нужно переименовать все файлы, имя которых содержит подстроку 200at и заменить ее на 200_at. В Ubuntu, я хотел бы сделать:альтернатива команде «rename» в CentOS 5.9

find . -type f -name '*200at*' -exec rename -n 's/200at/200_at/' {} \; 

В CentOS (версия 5.9) не работает. Команда rename, похоже, не поддерживает выражения perl, и приведенная выше команда ничего не делает.

Любые идеи для альтернативы?

ответ

0

В моем опыте с CentOS мы всегда использовали команду mv (move) для переименования вещей. то есть:

мв 200at ./200_at

надежда, что работает в качестве альтернативы.

+0

Хорошо, и как мне сделать сопоставление образцов с 'mv'? ваш пример переименовывает файл с именем '200at', в то время как в моем случае это должна быть подстрока полного имени файла. Я нашел несколько примеров, и это не синтаксис регулярного выражения ... –

+0

http://unix.stackexchange.com/questions/102647/how-to-rename-multiple-files-in-single-command-or-script-in -unix –

+1

Я на самом деле немного ржавый на своих сценариях оболочки. кто-то еще должен помочь больше. Извини за это. Я просто помнил, что «mv» является стандартным инструментом для переименования файлов в Linux. –

Смежные вопросы