Команда rename в Ubuntu 12.04 (manpage говорит, что она является частью perl v5.14.2 2012-03-23) хорошо работает в одном каталоге, но я хочу использовать ее и в подкаталогах (или, в более общем случае, в списке файлов, которые является выводом другой команды через обратные кавычки). Например, я бы ожидал
rename "s/ /-/g" `find .`
изменить все пробелы на тире во всех именах файлов ниже текущего каталога. Но эта команда ничего не делает.
(Правка: изменено rename -n на rename . Этот вариант хорош для безопасного эксперимента, но только отвлекает.)
Обратные кавычки не виноваты, потому что замена find . Например, работает echo */* .
Сначала занимаюсь find . > foo , а потом замену find . с cat foo , ничего не делает.
Даже сворачивая список файлов в одну строку, заменив find . с find . | tr -d '\n' , ничего не делает.
Какой элемент виноват?
