Re: Mal wieder Shellscripts
On Fri, Nov 21, 2003 at 07:59:25PM +0100, J. Volkmann wrote:
> ich scheitere irgendwie gerade an einem eigentlich total simplen
> Shellscript:
> ---snip---
> for i in "`cat /tmp/1.tmp`"; do
> OLDNAME="$i"
> NEWNAME=`echo $i |sed 's/. / - /'`
> echo "$OLDNAME"
> echo "$NEWNAME"
> done
> ---snip---
>
> Soweit eigentlich ganz simpel. Nur mag es keine Files mit space drin
> :-(. Auch das Setzen von "" half nicht, genausowenig wie ein ls -b (das
> schreibt die Dateien mit den \).
Ich seh gar kein in dem schnipsel?! Oder ist die Ausgabe von ls in
/tmp/1.tmp?
Der Befehl "for" splittet standardmäßig bei Space, damit zerlegt es Dir
die Datei "foo bar" in zwei einzelne Dateien "foo" und "bar". Ich
empfehle daher "read", welches am Zelenumbruch splittet:
cat /tmp/1.tmp | while read file; do
NEWNAME=`echo "$file" | sed -e 's/. / - /'`
echo $file
echo $NEWNAME
done
Btw., bist Du sicher, daß die regex stimmt? Oder meinst du eigentlich
einen "Punkt" als Zeichen, dann hieße es sed -e 's/\. / - /'
Gruß,
-billy.
--
Meisterbohne Meisterbohne GbR, Küfner, Mekle, Meier Tel: +49-731-399 499-0
eLösungen Söflinger Straße 100 Fax: +49-731-399 499-9
89077 Ulm http://www.meisterbohne.de/
Reply to: