String 测试文件中是否存在特定的xml字符串

String 测试文件中是否存在特定的xml字符串,string,bash,file,parsing,grep,String,Bash,File,Parsing,Grep,我想测试xml头是否存在于指定的文件中 我使用的是类似于: FILE=${1} PATTERN="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" if grep -Fxq ${PATTERN} ${FILE} then echo "already exists" else echo "not exists" fi 但是,该模式已存在于文件中。基本上,我只是不想创建一个新的模式线,如果它已经存

我想测试xml头是否存在于指定的文件中

我使用的是类似于:

FILE=${1}
PATTERN="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>"
if grep -Fxq ${PATTERN} ${FILE}
then
    echo "already exists"
else
    echo "not exists"
fi

但是,该模式已存在于文件中。基本上,我只是不想创建一个新的模式线,如果它已经存在于指定的文件中

用双引号将
${PATTERN}
括起来:
“${PATTERN}”

以下方面应起作用:

FILE=${1}
PATTERN="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>"
if grep -Fxq "${PATTERN}" ${FILE}
then
    echo "already exists"
else
    echo "not exists"
fi
FILE=${1}
PATTERN=“”
如果grep-Fxq“${PATTERN}”${FILE}
然后
echo“已经存在”
其他的
回声“不存在”
fi


在没有引号的情况下,if命令被扩展为双引号之间的
grep-Fxq include
${PATTERN}
:“${PATTERN}”
FILE=${1}
PATTERN="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>"
if grep -Fxq "${PATTERN}" ${FILE}
then
    echo "already exists"
else
    echo "not exists"
fi