Moin Moin,
ich hätte da mal wieder ein Problem...
Ich möchte alle Dateien mit einer 1-2 Ziffern im Dateinamen diese (unabhängig von der Namensstruktur) mit Nullen auffüllen, so dass alle Zahlen dreistellig sind.
Beispiel:
Datei1.txt -> Datei001.txt
Datei_1_Name.txt -> Datei_001_Name.txt
Datei100.txt -> Datei100.txt
Ich habe es mit rename \d{m,n} probiert, aber es wurden jedesmal auch die schon 3stelligen Zahlen umbenannt.
Wie kann ich das am besten umsetzen?
Vielen Dank!
Zahlen in Dateinamen mit Nummern auffüllen
- fragenfrager
- Beiträge: 658
- Registriert: 31.12.2003 08:47:15
Re: Zahlen in Dateinamen mit Nummern auffüllen
kann dir leider keine fertige Lösung bieten aber ein Prinzip welches realisierbar wäre:
1.) Dateinamen filtern (Suche nach Ziffern der Länge 1-2 im Dateinamen)
2.) Falls Datei gefunden, splitte Dateinamen in Ziffernpart und Rest
3.) Füge Ziffernpart gewünschte Anzahl Nullen hinzu
4.) Füge neu erzeugte Ziffern und Rest des Dateinamens wieder zusammen
So weit die Theorie...
1.) Dateinamen filtern (Suche nach Ziffern der Länge 1-2 im Dateinamen)
2.) Falls Datei gefunden, splitte Dateinamen in Ziffernpart und Rest
3.) Füge Ziffernpart gewünschte Anzahl Nullen hinzu
4.) Füge neu erzeugte Ziffern und Rest des Dateinamens wieder zusammen
So weit die Theorie...
Re: Zahlen in Dateinamen mit Nummern auffüllen
Habe es nun mit rename doch noch hinbekommen, nach dem ich die Lösung zu einem ähnlichen Problem gefunden habe:
find . -type f -execdir rename 's/\d+/sprintf("%03d",$&)/e' "{}" \;
find . -type f -execdir rename 's/\d+/sprintf("%03d",$&)/e' "{}" \;
- fragenfrager
- Beiträge: 658
- Registriert: 31.12.2003 08:47:15
Re: Zahlen in Dateinamen mit Nummern auffüllen
Super Einzeiler
Danke!
Danke!