Вы можете использовать:find. -exec sh -c './correct.sh {}' \;
!
С correct.sh в том же каталоге, где вы запускаете указанную выше команду:
#!/bin/bash
mv "$1" $(echo "$1" | sed 's/_-_/_/g');
(Не забудьте chmod +x correct.sh
!)
Это не очень элегантное решение, но оно работает. Все говорит само за себя, за исключением, может быть, -exec
, который является опцией find
, который будет выполняться для каждого имени файлов, процесса, упомянутого здесь (sh -c '...'
), и заменить {} на имя файла! См. найти справочные страницы для получения дополнительной информации.
Если вы хотите переименовать только каталог файлов, вставьте -type d
в качестве опции поиска. И, конечно же,вы можете изменить столько, сколько хотите, sed, чтобы заменить то, что вы хотите.