Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
07.12.2019, 14:32:49

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
  • Mitglieder insgesamt: 22914
  • Letzte: Miimir350
Statistiken
  • Beiträge insgesamt: 623233
  • Themen insgesamt: 50326
  • Heute online: 844
  • Am meisten online: 992
  • (17.11.2018, 20:17:55)
Benutzer Online

Autor Thema: [erledigt] Automatisches Umbenennen von Dateien in Ordnern  (Gelesen 259 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

[erledigt] Automatisches Umbenennen von Dateien in Ordnern
« am: 14.07.2019, 17:07:03 »
Cinnamon 19.1

Moin,

ich habe jetzt gerade Hörbücher von CD zu MP3 gewandelt.
Für jede CD gibt es einen Ordner.
Die Dateinamen der MP3s sollen jetzt alle eine fortlaufende 3-stellig Nummer bekommen.

Die Ordnernamen enthalten einen Namen und die Nummer der CD.
Ich suche jetzt einen einfachen Weg, das ich nur den Hauptordner angebe und dann alle Unterordner rekusiv durchsucht werden und die Dateien eine Nummer plus einen Unterstrich bekommen.

Ausgangssversion:
Ordner
-- Ordner 1
----Datei 1
----Datei 2
-- Ordner 2
----Datei 1
----Datei 2
-- Ordner 3
----Datei 1
----Datei 2

Ziel:
Ordner
-- Ordner 1
----001_Datei 1
----002_Datei 2
-- Ordner 2
----003_Datei 1
----004_Datei 2
-- Ordner 3
----005_Datei 1
----006_Datei 2

Wie bekomme ich das am einfachsten und schnellsten hin?

Gruß HEiko
« Letzte Änderung: 30.07.2019, 14:59:39 von Lazman »

Re: Automatisches Umbenennen von Dateien in Ordnern
« Antwort #1 am: 14.07.2019, 18:15:53 »
cd ORDNER && { f=0; find -type f -print0 | sort -zn | while read -rd '' file; do ((f++)); mv -v "$file" "${file%/*}/$(printf %03d $f)_${file##*/}"; done; }ORDNER musst Du natürlich ersetzen und vorher ein Backup davon anlegen (falls was schief geht).

Re: Automatisches Umbenennen von Dateien in Ordnern
« Antwort #2 am: 30.07.2019, 14:59:23 »
Moin

cd ORDNER && { f=0; find -type f -print0 | sort -zn | while read -rd '' file; do ((f++)); mv -v "$file" "${file%/*}/$(printf %03d $f)_${file##*/}"; done; }ORDNER musst Du natürlich ersetzen und vorher ein Backup davon anlegen (falls was schief geht).

Wow, da hat sich aber eine Mühe gegeben.
Danke, dafür.

Da ich eher der visuelle Typ bin, habe ich mir in der Zwischenzeit in "Lazarus" https://www.lazarus-ide.org/ ein einfaches Tool geschrieben.

Gruß Heiko