Hello Karnbach,

Friday, December 6, 2002, 8:29:25 AM, you wrote:

KF> hallo alle zusammen,
KF> ich haette da mal ein frage.

KF> bei der auswertung eines logscriptes ( die zeile sieht ungefaehr so aus: abc def 
"ghi jkl" mno pqrst )
KF> gelingt es nicht den "ghi jkl" als inhalt in einem argument zu halten.

KF> eventuell erklaert dies testscript besser um was es geht:

KF> [...]

KF> lange rede kurzer sinn: was mache ich verkehrt?

#! /usr/bin/ksh

-- 
cheers,
 Tobias


#! /bin/bash
escape() {
    local i cur escape=0 str

    for ((i=0; i < ${#1}; i++)); do
        cur="${1:$i:1}"

        if [ "$cur" = '"' ]; then
            ((escape=!$escape))
            continue
        fi
        if [[ $escape -eq 1 && "$cur" = " " ]]; then 
            str="$str\\ "
        else
            str="${str}${cur}"
        fi    
    done
    echo "$str"
}

escape 'test1 "test2_a test2_b" "test3_a test3_b test3_c" test4' | \
    while read a b c d; do 
        echo 1: $a 
        echo 2: $b 
        echo 3: $c 
        echo 4: $d
    done

----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an