Archiv verlassen und diese Seite im Standarddesign anzeigen : Umbenennen von Dateien mit Endung
Hi Leute
Ich möchte per Bash-Script in einer Schleife Dateien umbenennen, die alle eine 3 oder 4 stellige Endung haben (z.B. xyz.html, 123.htm, abcde.HTML und so weiter). Wie trenne ich den Dateinamen am Punkt? ist das ein Fall für sed, awk oder kann ich das auch anders hinbekommen? Womit geht es am leichtesten.
Danke und Gruß Rupert
Beispiel:
<pre>
beispiel='/home/penguin/linux.jpeg'
#
dateiname=`basename $beispiel`
#
echo ${dateiname%.*}
linux
echo ${dateiname#*.}
jpeg
</pre>
Alles klar? http://www.linuxforen.de/ubb/wink.gif
Thomas
Hallo Thomas
Danke es funzt. Aber warum das hab ich noch nicht ganz kapiert ( % und # ) http://www.linuxforen.de/ubb/confused.gif
Hab in meiner Linux-Lektüre nichts entsprechendes gefunden. Hab ich da ein ganzes Kapitel übersehen? Werd mich einfach mal schlau machen.
Danke Rupert
Den Mechanismus bezeichnet man als Parametersubstitution. Und das Ganze funzt nur in der Bash (pdksh könnte auch gehn, hab's noch nicht versucht).
Zum "schlau machen" kannst Du mal in http://www.linuxfibel.de/linux/linuxfibel/bash.htm#Variablenexpansion nachlesen, hab' alles mit Beispielen gespickt.
Thomas
Danke ich hab's gelesen
Gruss Rupert
Hi!
Wenn es Dir nur um's Umbenennen geht, ist vielleicht mmv (Multiple Move; siehe man mmv) für Dich interessant, damit kannst Du so Sachen machen wie
mmv '*.htm' '#1.html'
(richtiges Quoten nicht vergessen; das * muß bis ins Programm durchkommen, nicht von der Shell aufgelöst werden!).
Grüße,
Michael.
Hi Michael
Danke fuer dein Posting aber mit Thomas Methode hat die Aktion super geklapt. Werde mir aber trozdem mal mmv ansehen.
Gruss Rupert
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.