Я пытаюсь получить информацию из XML-документа, а затем беру эту информацию и сравниваю ее с информацией, которую я получаю из текстового документа.Но всякий раз, когда я сравниваю число, которое я получаю из XML, с числом из текстового документа, сценарий всегда говорит мне, что они не равны, даже когда они должны быть.
Я использую xmllint
, чтобы получитьинформацию из XML-документа и прочитайте, чтобы получить номер из текстового документа.Тогда я пытаюсь сравнить их, и если они одинаковые, что-то сделать.Но в этом я и застрял.
input_3="/Users/unix/Desktop/text.txt"
VAR_4= xmllint --xpath "string(//number)" /Users/unix/Desktop/01/testxml.xml
while IFS= read -r line
do
if [[ "$VAR_4" == "$line" ]]
then echo "YEAH"
else echo "Why"
fi
done < "$input_3"
С этим кодом я всегда вхожу в другую часть утверждения, даже если числа должны быть одинаковыми.Я работал с echo, чтобы проверить числа, чтобы убедиться, что они одинаковые, и единственное, о чем я могу подумать, это то, что это связано с новыми строками или пробелами.То, что либо xmllint
, либо чтение с IFS
ставит новую строку за номером, и поэтому скрипт не считает их одинаковыми.Например, в моем текстовом документе число равно 2, но я должен поставить новую строку за ним, так что read получает число, а в XML число тоже равно 2.Я надеюсь, что кто-то может дать мне подсказку о том, как я могу изменить формат выводов, которые я получаю, или как получить выходы на том же уровне.