-1

構文:

while read l
do
    export filename=$l
    if [[ `echo $filename | sed -n 's:TEST.*/TEST:&:p'` -ne 0 ]];
    then
        echo "both are same : $filename"
    else
        echo "diff: $filename"
    fi
done < scripts2.txt*

問題: 通常は問題なく動作します。しかし、以下のデータでは構文エラーがスローされます...

<TEST><![BIGDATA[$EXECUTE SCRIPT ON ALL SERVER $WELCOME#]]></TEST>

正確な問題は何だったのか教えてください????

4

2 に答える 2

0

原則として、XML/HTML を正規表現で解析しようとしないでください。XML は通常の言語ではないため、終わりのない問題に直面することになります。最終的に何をしようとしているのですか?おそらく、問題にアプローチする簡単な方法があります。

于 2012-07-11T16:02:16.283 に答える
0

自分が何をしたいのかを理解するのは難しいです。-ne上記のコードの明らかな間違いは、数値ではないものとの算術比較 ( ) を行おうとしているということです。

上記echo ... | sed ...の入力の式は、文字列 " <&>" を生成する必要があり、これがゼロに等しくないかどうかをテストしています。

繰り返しますが、あなたの意図を明確にすることで、他の人があなたを助けることができます.

于 2012-07-11T16:17:15.330 に答える