![]() |
Dateien rekursiv umbenennen Moin, folgender Fall: Ich hab viele Dateien mit einer doppelten Endung - sagen wir sowas in der Art: Dateiname.???.foo Mit dem Befehl Code: rename 's/\.foo$//' *.foo Wie mach ich das in einem Befehl, der rekursiv alle Unterverzeichnisse durchgeht und auch da die Dateien umbenennt, sprich die Endung ".foo" abschneidet? Jmd eine Idee? |
For Befehle sollten bei Linux auch gehen :) Hier ist ein Beispiel: http://www.linux-club.de/viewtopic.php?f=21&t=99143 Du müsstest dann wahrscheinlich eine For-Schleife verwenden, die in jedem Ordner und Unterordner nach Dateien sucht und dort die Dateien dann mit deinem Befehl umbenennt. |
Ja danke ich glaub ich hab es hiermit in der zwischenzeit geschafft :) Code: find ordner -name "*.foo" -exec rename 's/\.foo$//' {} \; |
Mir fällt gerade auf, das $ bei ".foo" muss da garnicht sein. Es funktioniert auch so, statt "find ordner" kann man auch "find ." machen, um im aktuellen Verzeichnis die Dateien rekursiv durchzugehen... Code: find . -name "*.foo" -exec rename 's/\.foo//' {} \; Code: find . -name "*.exe" -exec rename 's/\.exe/\.exe\.vir/' {} \; |
OT Zitat:
|
Zitat:
Aber selbst wenn, mein Ubuntu startet immer noch :zunge: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 Uhr. |
Copyright ©2000-2025, Trojaner-Board