Random Anzahl von Leerzeichen in Ordnernamen ersetzen durch 1 Leerzeichen

lyn2k9

Member
Hallo liebes Forum,
ich habe eine sehr große Fotosammlung bekommen. Diese ist wie folgt aufgebaut:

"2005_04_03 Test1"
"2006_06_02 Test2_Test3"
"2008_07_01 Test4 Test5"

Es folgt nach dem Datum mit Unterstrichen eine wechselnde Anzahl an Leerzeichen. Ich würde gerne alle Ordner wie folgt formatieren:

Datum+ein_Leerzeichen+Name

Dazu habe ich schon mit Rename rumgespielt.

zB
Code:
find . -execdir rename 's/ /_/g' {} +
Damit werden die Leerzeichen zu einem Unterstrich. Leider schaffe ich es damit nicht die Leerzeichen nach dem Datum zu kürzen.

Es geht wohl mit sed oder tr, aber damit erziele ich auch nicht die gewünschten Erfolge. Es werden immer nur die Zeichen ersetzt.

Ich weiß es gibt hier im Forum Spezialisten, für die das ein Kinderspiel ist.
Ich würde mich sehr freuen wenn ich hier etwas Hilfe bekommen würde!

Wünsche euch ein schönes WE

Lyn
 

GwenDragon

Registered User
Ungetestet:
find . -execdir rename 's/(\d{4}_\d{2}_\d{2} )/$1\xFF/g' {} +
find . -execdir rename 's/ /_/g' {} +
find . -execdir rename 's/\xFF/ /g' {} +
 

lyn2k9

Member
Guten Morgen!
Vielen Dank DjTom-i

Damit funktioniert es!


@GwenDragon Deine Lösungen haben leider die Random Leerzeichen nicht ersetzt.
 
Top