В настоящее время я пытаюсь переименовать все каталоги, содержащие 123, в 321.
Например, если у меня есть каталог с именем test123test, я хотел бы переименовать его в test321test.
На данный момент у меня есть что-то вроде:find . -depth -name *123* -exec mv {}
вот где у меня проблема\;
Потому что я не не знаю, как я смогу заменить имя папки на исходное.
Если у вас есть какие-либо идеи о том, как действовать дальше, не стесняйтесь вносить свой вклад.
переименование каталогов на основе шаблона
Ответы (1)
Попробуйте с циклом for:
for dir in `find . -type d -depth X -name '*123*'` ; do
mv "$dir" "${dir/123/321}"
done
Примечание. вам нужно отредактировать X
выше. И это может привести к сбою, если есть такие пути, как «./dir123/dir123/
»
person
Zsolt Botykai
schedule
27.03.2013
Большое спасибо, это сработало после того, как я удалил предикат глубины.
- person BenFradet; 27.03.2013