Hallo! Wie kann ich mit einem Rutsch unter Linux alle Datein mit dem Namen: Folder.jpg in cover.jpg umbenennen? Incl. aller Unterverzeichnisse! Danke
1 | $ find -name Folder.jpg -execdir mv Folder.jpg cover.jpg \; |
ACHTUNG *ACHTUNG* ACHTUNG ... Der Vorschlag von '...', das haut so NICHT hin!
Z.B. so:
1 | find -name Folder.jpg -exec rename Folder.jpg cover.jpg {} \; |
ACHTUNG *ACHTUNG* ACHTUNG Der Vorschlag von 'yalu' ist ebenfalls falsch! So funktionierts (hab ich in meinem ersten Beitrag auch geschrieben):
1 | $ find -name Folder.jpg -execdir mv Folder.jpg cover.jpg \; |
Der Unterschied ist -exec zu -execdir. Mit -exec kriegt der mv-Befehl absolute Pfadangaben als Quelle und 'cover.jpg' als Ziel. Das bewirkt dann, dass er die Dateien aus ihren Unterverzeichnissen nacheinander nach 'cover.jpg' im aktuellen Verzeichnis (von wo find aufgerufen wurde) verschiebt. Damit werden die Original-Cover-Dateien effektiv gelöscht (da immer wieder auf dieselbe Datei geschoben), lediglich die letzte gefundene bleibt über. Mit -execdir wechselt find zuerst ins Verzeichnis der gefundenen Datei, bevor der mv-Befehl aufgerufen wird, dadurch hat das Ganze dann hin.
Sven Pauli brüllte: > ACHTUNG *ACHTUNG* *ACHTUNG* > Der Vorschlag von '...', das haut so NICHT hin! > ACHTUNG *ACHTUNG* *ACHTUNG* > Der Vorschlag von 'yalu' ist ebenfalls falsch! Jawoll Sir, wir haben's verstanden!!! Danke, dass du in meinem Fall wenigstens die zweite Zeile in normaler Lautstärke vorgetragen hast ;-) @Denny S.: Ja, der Lauteste hat immer recht. Mein Vorschlag funktioniert nur dann, wenn 'Folder.jpg' nur als Dateiname, nicht aber als Teil eines anderen Datei- oder Verzeichnisnamens auftaucht. Svens Lösung ist schon die richtige.
yalu wrote: > Ja, der Lauteste hat immer recht. Mein Vorschlag funktioniert nur dann, > wenn 'Folder.jpg' nur als Dateiname, nicht aber als Teil eines anderen > Datei- oder Verzeichnisnamens auftaucht. Svens Lösung ist schon die > richtige. Vorsicht, der funktioniert auch dann nicht! Du schiebst dir damit alle Folder.jpg-Dateien zusammen.
> Vorsicht, der funktioniert auch dann nicht! > Du schiebst dir damit alle Folder.jpg-Dateien zusammen. Nein, das macht nur der Vorschlag von '...'. Schau mal hier: man rename Aber wie gesagt, ich ziehe meinen Vorschlag trotzdem zurück, weil er eben nicht in allen Fällen funktioniert. Dass das mit -execdir viel einfacher geht, war mir entfallen.
Stimmt, wenn man nicht gerade das Alias 'rename' benutzt, das auf 'mv' zeigt schmunzel Dann aber bitte ... rename 's/Folder\.jpg/cover.jpg/'
> Dann aber bitte > > ... rename 's/Folder\.jpg/cover.jpg/' Das funktioniert bei mir wiederum nicht :) Du scheinst das Perl-Rename installiert zu haben, bei mir ist es das Rename aus util-linux-ng. Die beiden haben unterscheidliche Aufrufe.
RegExp war nie meine Stärke, aber felt da nicht ein \? Also nicht: > ... rename 's/Folder\.jpg/cover.jpg/' Sondern: > ... rename 's/Folder\.jpg/cover\.jpg/'
Hab ich mich auch gefragt, aber eigentlich nicht, weil der zweite Teil ja kein Regexp mehr ist, sondern der Ersetzungstext.
> Hab ich mich auch gefragt, aber eigentlich nicht, weil der zweite Teil > ja kein Regexp mehr ist, sondern der Ersetzungstext. Ist was dran, naja, sowas würde ich eh in einem Testordner mit Testdateien ausprobieren... ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.