语法:
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>
请告诉我究竟是什么问题是????
答案 0 :(得分:0)
作为一般规则,请勿尝试使用正则表达式解析XML / HTML。 XML不是regular language,您将遇到无穷无尽的问题。你最终想做的是什么?可能有一种更简单的方法来解决这个问题。
答案 1 :(得分:0)
很难理解您希望执行的操作。上面代码中的明显错误是你试图用不是数字的东西进行算术比较(-ne
)。
上面输入的echo ... | sed ...
表达式应该生成字符串“<&>
”,并且您正在测试它是否不等于零。
再一次,澄清你的意图会让其他人帮助你。