Ich möchte alle Verzeichnisse unter einem basedir umbenennen, die einem Namen entsprechen. Zum Beispiel:Mehrere Verzeichnisse umbenennen, die dem Muster entsprechen
In basedir/
, ich habe:
- foo/bar/blah
- my/bar/foo
- some/bar/foo1
- other/foo/bar
Ich möchte alle Verzeichnisse umbenennen bar
passend, aber ich möchte das Präfix Teil bewahren.
Mit find
, ich kann einfach eine Liste aller Verzeichnisse wie diese machen:
find . -name repositoryunit -type d
aber wie kann ich -exec mv {} ...
(oder vielleicht mit einer anderen App kombinieren), so dass das Präfix erhalten bleibt?
Vielen Dank im Voraus!
Beachten Sie, dass, wenn im gesuchten Verzeichnis bereits ein Verzeichnis "baz" ist, der "Balken" in das Verzeichnis verschoben wird. – mkudlacek
Wenn Sie nach dem Ausführen des Befehls 'find: '*****': ... Keine solche Datei oder kein Verzeichnis erhalten haben, fügen Sie' -depth' hinzu, wodurch der Inhalt der Verzeichnisse verarbeitet wird, bevor das Verzeichnis selbst die Fehler beseitigt. – lepe