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/


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an