[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: