Discussion:
Dateien umbenennen
(zu alt für eine Antwort)
Peter Schütt
2005-04-28 18:57:30 UTC
Permalink
Hallo,
ich habe einen ganzen Haufen Textdateien mit der Endung "sdm" und dem Prefix
"FORW".
Wie kann ich automatisch den Prefix entfernen und alle "sdm"-Endungen in
"txt" umwandeln?

Danke für alle Hinweise und Tips.

Ciao
Peter Schütt
--
www.pstt.de

Die E-Mail-Adresse funktioniert, kann aber u.U. in Zukunft mal abgeschaltet
werden. Ohne "_remove_this_" wird sie auch in Zukunft noch funktionieren.
Jakob Lenfers
2005-04-28 19:13:17 UTC
Permalink
Post by Peter Schütt
ich habe einen ganzen Haufen Textdateien mit der Endung "sdm" und dem Prefix
"FORW".
Wie kann ich automatisch den Prefix entfernen und alle "sdm"-Endungen in
"txt" umwandeln?
'mmv "FORW*sdm" "#1.txt"'
Vorher Syntax bitte mit man mmv überprüfen.

Jakob
--
____________Lenfi bloggt jetzt: Lenfis bLog: <http://blog.jl42.de>_____________
Gnus sieht gut aus. Guckst Du: Loading Image...
http://my.gnus.org Loading Image...
de.comm.software.gnus == Wie das klappt? == -> http://my.gnus.org/node/view/39
Marcus Habermehl
2005-04-28 19:11:41 UTC
Permalink
Post by Peter Schütt
Hallo,
ich habe einen ganzen Haufen Textdateien mit der Endung "sdm" und dem Prefix
"FORW".
Wie kann ich automatisch den Prefix entfernen und alle "sdm"-Endungen in
"txt" umwandeln?
Danke für alle Hinweise und Tips.
Würde dir etwas in dieser Richtung empfehlen:

for i in FORW*.sdm ; do
mv -v $i `echo $i | tr -d FORW | sed 's|.sdm|.txt|'`
done

Gruß
Marcus
Alexander Skwar
2005-04-29 04:17:13 UTC
Permalink
Post by Marcus Habermehl
Post by Peter Schütt
Hallo,
ich habe einen ganzen Haufen Textdateien mit der Endung "sdm" und dem Prefix
"FORW".
Wie kann ich automatisch den Prefix entfernen und alle "sdm"-Endungen in
"txt" umwandeln?
Danke für alle Hinweise und Tips.
for i in FORW*.sdm ; do
mv -v $i `echo $i | tr -d FORW | sed 's|.sdm|.txt|'`
dest=${i#FORW}
mv -v "$i" "${dest%.sdm}.txt"
Post by Marcus Habermehl
done
Der tr Aufruf ist im übrigen falsch:

[06:12:36 ***@server:~] $ echo F______O_______R_______W_____ | tr -d FORW
_________________________

Wie man oben sieht, habe ich den "dest"ination Namen
in 2 Schritten erzeugt. Lässt sich sowas auch in einem
Schritt machen, wenn man nicht auf externe Tools wie
perl/sed zurückgreifen möchte? Shell: bash.

Im übrigen ist dies die falsche NG. xp,flup2 de.comp.os.unix.shell

Alexander Skwar
--
<Skyhook> Where is 'bavaria' proper? I thought it was austria.
-- Seen on #Linux
Alois Steindl
2005-04-29 07:12:52 UTC
Permalink
Post by Peter Schütt
Hallo,
ich habe einen ganzen Haufen Textdateien mit der Endung "sdm" und dem Prefix
"FORW".
Wie kann ich automatisch den Prefix entfernen und alle "sdm"-Endungen in
"txt" umwandeln?
Danke für alle Hinweise und Tips.
Hallo,
ein indirekter, aber wie ich meine sehr nützlicher Tip:
FAQ von comp.unix.questions

Alois
Sebastian Ley
2005-04-29 09:35:32 UTC
Permalink
Post by Peter Schütt
ich habe einen ganzen Haufen Textdateien mit der Endung "sdm" und dem
Prefix "FORW".
Wie kann ich automatisch den Prefix entfernen und alle "sdm"-Endungen in
"txt" umwandeln?
In Debians "perl" Paket (und damit vielleicht auch bei anderen Distributoren
vorhanden) ist ein nettes kleines Skript "rename" enthalten. Damit gehts
dann so:

rename 's/sdm/txt/' FORW*.sdm
(für den Fall dass die Zeichenkette "sdm" nur in den Endungen der Dateien
vorkommt.)

Gruß,
Sebastian
Erkan Yanar
2005-04-29 21:56:49 UTC
Permalink
Post by Sebastian Ley
Post by Peter Schütt
ich habe einen ganzen Haufen Textdateien mit der Endung "sdm" und dem
Prefix "FORW".
Wie kann ich automatisch den Prefix entfernen und alle "sdm"-Endungen in
"txt" umwandeln?
In Debians "perl" Paket (und damit vielleicht auch bei anderen Distributoren
vorhanden) ist ein nettes kleines Skript "rename" enthalten. Damit gehts
rename 's/sdm/txt/' FORW*.sdm
(für den Fall dass die Zeichenkette "sdm" nur in den Endungen der Dateien
vorkommt.)
Mit anderen Worten mit rename lautet der Aufruf:
rename 's/FORW(.*)sdm/$1txt/' FORW*.sdm


scnr
erkan
--
über den grenzen muß die freiheit wohl wolkenlos sein
Alexander Skwar
2005-04-30 06:09:03 UTC
Permalink
Post by Erkan Yanar
Post by Sebastian Ley
Post by Peter Schütt
ich habe einen ganzen Haufen Textdateien mit der Endung "sdm" und dem
Prefix "FORW".
Wie kann ich automatisch den Prefix entfernen und alle "sdm"-Endungen in
"txt" umwandeln?
In Debians "perl" Paket (und damit vielleicht auch bei anderen Distributoren
vorhanden) ist ein nettes kleines Skript "rename" enthalten. Damit gehts
rename 's/sdm/txt/' FORW*.sdm
(für den Fall dass die Zeichenkette "sdm" nur in den Endungen der Dateien
vorkommt.)
rename 's/FORW(.*)sdm/$1txt/' FORW*.sdm
Oder vlt. noch eher

rename 's/^FORW(.*)\.sdm$/$1.txt/' FORW*sdm

Dadurch würde "FORW" am Anfang des Strings "ge-anchor-t"
und ".sdm" am Ende.

Alexander Skwar
--
Tell me what to think!!!
Erkan Yanar
2005-04-30 08:40:01 UTC
Permalink
Post by Alexander Skwar
Post by Erkan Yanar
Post by Sebastian Ley
Post by Peter Schütt
ich habe einen ganzen Haufen Textdateien mit der Endung "sdm" und dem
Prefix "FORW".
Wie kann ich automatisch den Prefix entfernen und alle "sdm"-Endungen in
"txt" umwandeln?
In Debians "perl" Paket (und damit vielleicht auch bei anderen Distributoren
vorhanden) ist ein nettes kleines Skript "rename" enthalten. Damit gehts
rename 's/sdm/txt/' FORW*.sdm
(für den Fall dass die Zeichenkette "sdm" nur in den Endungen der Dateien
vorkommt.)
rename 's/FORW(.*)sdm/$1txt/' FORW*.sdm
Oder vlt. noch eher
rename 's/^FORW(.*)\.sdm$/$1.txt/' FORW*sdm
Dadurch würde "FORW" am Anfang des Strings "ge-anchor-t"
und ".sdm" am Ende.
Unnötig, da FORW*sdm schon die Auswahl bereit stellt und .* greedy ist.
Mit anderen Worten *müsste* man deinen Vorschlag bei
rename 's/^FORW(.*)\.sdm$/$1.txt/' * benutzen
^
|
tschazu
erkan


tschazu
erkan
--
über den grenzen muß die freiheit wohl wolkenlos sein
Alexander Skwar
2005-04-30 10:32:48 UTC
Permalink
Post by Erkan Yanar
Post by Alexander Skwar
Post by Erkan Yanar
Post by Sebastian Ley
Post by Peter Schütt
ich habe einen ganzen Haufen Textdateien mit der Endung "sdm" und dem
Prefix "FORW".
Wie kann ich automatisch den Prefix entfernen und alle "sdm"-Endungen in
"txt" umwandeln?
In Debians "perl" Paket (und damit vielleicht auch bei anderen Distributoren
vorhanden) ist ein nettes kleines Skript "rename" enthalten. Damit gehts
rename 's/sdm/txt/' FORW*.sdm
(für den Fall dass die Zeichenkette "sdm" nur in den Endungen der Dateien
vorkommt.)
rename 's/FORW(.*)sdm/$1txt/' FORW*.sdm
Oder vlt. noch eher
rename 's/^FORW(.*)\.sdm$/$1.txt/' FORW*sdm
Dadurch würde "FORW" am Anfang des Strings "ge-anchor-t"
und ".sdm" am Ende.
Unnötig, da FORW*sdm schon die Auswahl bereit stellt und .* greedy ist.
Ach ja, richtig. An die greediness habe ich nicht gedacht.

Alexander Skwar
--
Some people pray for more than they are willing to work for.
Jochen Rundholz
2005-04-30 09:18:09 UTC
Permalink
falls du kde benutzt tut es vielleicht krename

Gruss,
Jochen
Lesen Sie weiter auf narkive:
Loading...