Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Per line ${..//..}



    Hi all :)

    I have a parameter containing a bunch of lines, and I have to get
rid of comments (that is "$line" == (#s)[" $'\t'"]#\#*(#e)) and empty
lines (that is "$line" == (#s)[" $'\t'"]#(#e)). I've tried using the
${..//..} syntax for doing substitutions in parameters, but with no
success because I don't know how to properly mark the beginning and
end of a line.

    So I'm using this:

for line in ${(f)olddata}
do
    [[ "$line" == (#s)[" $'\t'"]#(\#*)#(#e) ]] && continue
    newdata+=($line)
done

    I'm pretty sure that this is not the best way of "cleaning" the
contents, but I can't think of anything better :( Any idea? Can the
${..//..} construct be used?

    Thanks in advance :)

    Raúl Núñez de Arenas Coronado

-- 
Linux Registered User 88736 | http://www.dervishd.net
http://www.pleyades.net & http://www.gotesdelluna.net
It's my PC and I'll cry if I want to...



Messages sorted by: Reverse Date, Date, Thread, Author