Команда 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'
, ничего не делает.
Какой элемент виноват?