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)