Chciałbym zmienić nazwy wszystkich katalogów w bazie danych, które pasują do nazwy. Na przykład:Zmień nazwę wielu katalogów pasujących do wzorca
W basedir/
, mam:
- foo/bar/blah
- my/bar/foo
- some/bar/foo1
- other/foo/bar
Chciałbym zmienić nazwy wszystkich katalogów dopasowania bar
, ale chciałbym zachować część prefiksu.
Z find
, mogę łatwo zrobić listę wszystkich katalogów tak:
find . -name repositoryunit -type d
Jednak, jak można używać -exec mv {} ...
(lub może łączyć się z innej aplikacji), tak, że przedrostek jest zachowana?
Wielkie dzięki z góry!
Należy pamiętać, że jeśli w szukanym katalogu jest już katalog "baz", zostanie do niego przeniesiony "pasek". – mkudlacek
Jeśli otrzymasz 'find: '*****': ... Brak takiego pliku lub katalogu' po wykonaniu polecenia, dodaj '-depth', który przetworzy zawartość katalogów przed usunięciem błędów przez sam katalog. – lepe