[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