Umbenennung Dateinamen

J

jurgen_xf

Mitglied
Hallo,
wieder mal ein Unix Neuling....
Ich hab Dateien, die in folgend vorliegen:
LS_LTL_NFT_LS_<Name>_<Datum>.txt

nun möchte ich von jedem Dateinamen, der sich im Ordner befindet die beiden "LS" gegen "TS" ersetzen : TS_LTL_NFT_TS_<Name>_<Datum>.txt
Hatte versucht wenigstens das erste TS zu ersetzen und selbst da kommt schon der Fehler :"rename:not found" :
for i in $verzeichnis
do
rename LS*.txt TS*.txt
done

hat jemand ne idee?
 
Der Befehl unter Linux/Unix, um Dateien umzubenennen, heisst 'mv' (move). Allerdings wuerde die Syntax, die Du verwendet hast, nicht akzeptiert werden. Es koennte auf die Art mittels 'mmv' funktionieren, was aber nicht unbedingt installiert sein muss. Wenn Du mit bash als Kommandozeileninterpreter arbeitest, kannst Du Dein Problem loesen mittels
Code:
for i in LS_LTL_NFT_LS_* ; do mv -iv $i TS_LTL_NFT_TS_${i#LS_LTL_NFT_LS_}; done
Das '#'-Zeichen sorgt dafuer, dass in dem Namen der Variablen i das nachfolgende Wort von vorne betrachtet entfernt wird.
 
vielen Dank für die Antwort.Die Dateinamen werden im Terminal wenn ich das Script starte richtig umbenannt aber nicht überschrieben.Am Ende kommt trotzdem die Fehlermeldung:
mv: TS_LTL_NFT_TS_Hund_20101018.txt not found
mv: TS_LTL_NFT_TS_Katze_20101017.txt not found
mv:TS_LTL_NFT_TS_Maus_20101016.txt not found
 
Hallo

Neben der Konsolenlösung gibts noich die schönen Programme gprename und pyrename

mfg
schwedenmann
 
nun scheint es zu klappen. habe anstatt "mv -iv" nur mv genommen und nu gehts.

vielen dank
 
Zuletzt bearbeitet:

Ähnliche Themen

HandbrakeCLI Shell Skript

Skript bei Lubuntu nach jedem Start ausführen

Wie finde ich Leerzeichen im dateinamen

Datei auslesen per Python (WLST)

sed/grep Anfängerproblem

Zurück
Oben