www.mikrocontroller.net

Forum: PC-Programmierung [LINUX] Datein umbenennen


Autor: Denny S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wie kann ich mit einem Rutsch unter Linux alle Datein mit dem Namen:
Folder.jpg in cover.jpg umbenennen?
Incl. aller Unterverzeichnisse!

Danke

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
find . -name "Folder.jpg" -exec mv {} cover.jpg \;

Autor: Denny S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
$ find -name Folder.jpg -execdir mv Folder.jpg cover.jpg \;

ACHTUNG *ACHTUNG* ACHTUNG ...
Der Vorschlag von '...', das haut so NICHT hin!

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Z.B. so:
find -name Folder.jpg -exec rename Folder.jpg cover.jpg {} \;

Autor: Denny S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und wie dann?

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ACHTUNG *ACHTUNG* ACHTUNG
Der Vorschlag von 'yalu' ist ebenfalls falsch!

So funktionierts (hab ich in meinem ersten Beitrag auch geschrieben):
$ 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.

Autor: Denny S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja so funzt es!

Danke
Gruß Denny

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, wenn man nicht gerade das Alias 'rename' benutzt, das auf 'mv' 
zeigt schmunzel
Dann aber bitte

... rename 's/Folder\.jpg/cover.jpg/'

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: brizz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/'

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich mich auch gefragt, aber eigentlich nicht, weil der zweite Teil 
ja kein Regexp mehr ist, sondern der Ersetzungstext.

Autor: brizz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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... ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.