[linux-l] shell skript probleme mit leerzeichen
Frank Reker
frank at reker.net
Fr Okt 28 14:37:19 CEST 2005
Am Thu 27. Oct 2005 17:42 +0000 schrieb willek:
>>>for i in `ls |sed s/" "/"\\ "/g` ; do
>>>warum hat das nicht funktioniert?
>> Oha... Lieber nicht anfangen, irgendwelche Spezialfälle speziell zu
>> behandeln. Was ist, wenn Dateinamen einen Zeilenumbruch beinhalten?
>> Maskierst Du den dann auch?
>
>Du hast ja recht. Aber die Frage bleibt: wenn ich die Leerzeichen so
>maskieren will, warum funktioniert das nicht? $i sollte doch dann
>maskierte Leerzeichen beinhalten, nicht mehr als Trenner benutzbar.
>Nur genau das funktioniert nicht, die Leerzeichen werden weiter erkannt.
> Wie gesagt, reine Verständnisfrage.
weil der mit sed erhaltene ausdruck nicht weiter evaluiert wird,
sondern literal ausgewertet wird. die shell sucht dann nur
noch nach den zeichen, die in IFS stehen (ueblicherweise: leerzeichen,
tab und newline), und splittet den string danach auf.
--
Don't worry be happy ...
Ciao Frank
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 189 bytes
Beschreibung: nicht verfügbar
URL : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20051028/4d181df8/attachment.sig>
Mehr Informationen über die Mailingliste linux-l