kanotix.com

Scripte - Binde- durch Unterstrich ersetzen

Bendemann - 20.01.2008, 12:27 Uhr
Titel: Binde- durch Unterstrich ersetzen
Wenn ich ein Skript besäße, das folgende Arbeit erledigt, würde mir Arbeit von mehreren Stunden abgenommen werden.

Ich habe ein Verzeichnis mit der Tiefe von zwei bis vier Ordnern mit jeweils mehreren Ordnern auf einer Ebene. Ich muß alle Bindestriche in den Dateinamen durch Unterstriche ersetzen.
dosenfleisch - 20.01.2008, 12:56 Uhr
Titel: Binde- durch Unterstrich ersetzen
google mal nach SED+bash+ersetzen
Bendemann - 20.01.2008, 12:58 Uhr
Titel:
Ja, an sed erinnere ich mich, keine guten Erinnerungen.

Ich habe jetzt
Code:
find $dir1 $dir2 $dir3 -name "*-*" -exec rename  's/-/_/g' "{}" \;
das müßte doch gehen, oder?
DerangedGonzo - 20.01.2008, 14:52 Uhr
Titel:
su
apt-get update
apt-get install krename

das sollte helfen Winken
krename - Powerful batch renamer for KDE 3.x
Bendemann - 20.01.2008, 16:49 Uhr
Titel:
Schon lange gemacht, wußte mir nur mit keiner Syntax zu helfen.

Der Befehl oben hat aber wohl anscheinend geklappt. So weit ich das überblicken kann, sind keine Bindestriche mehr da.
blauweiss - 20.01.2008, 17:11 Uhr
Titel:
Es lohnt sich aber schon, sich mit sed zu befassen.
Vorrausgesetzt, das keiner deiner Ordner ein '-' enthält,
wäre es auch so gegangen

for i in $(find /Pfad/zum/Ordner/ -type f); do mv $i $(echo $i | sed -e "s/-/_/g") >/dev/null 2>&1; done
Alle Zeiten sind GMT + 1 Stunde
PNphpBB2 © 2003-2007