Rekursives Ersetzen von Datei- und Verzeichnisnamen unter Beibehaltung der Groß-/Kleinschreibung

Rekursives Ersetzen von Datei- und Verzeichnisnamen unter Beibehaltung der Groß-/Kleinschreibung

Wie kann ich unter Linux Dateien und Verzeichnisnamen rekursiv ersetzen und dabei die aktuelle Schreibweise beibehalten?

Ich befinde mich beispielsweise in einem Verzeichnis, das zwei Unterverzeichnisse mit den Namen hat:

lastname
Lastname

Ich möchte sie durch „lastnamea“ bzw. „Lastnamea“ ersetzen können. Grundsätzlich möchte ich sie ändern und dabei die Groß-/Kleinschreibung beibehalten. Dasselbe gilt für Dateien.

Antwort1

Dieser Befehl verwendet find, um den absoluten Pfad jeder Datei im Verzeichnis und in den Unterverzeichnissen aufzulisten. Sie können ls verwenden, um nur das aktuelle Verzeichnis aufzulisten. Xargs führt Befehle für das aus, was über stdin übergeben wurde. -IX bedeutet, X durch das zu ersetzen, was über stdin übergeben wurde. Wenn Ihre Version von xargs kein -I hat, verwenden Sie --replace=X. Ich hoffe, das hilft!

finde . | xargs -IX mv X Xa

verwandte Informationen