У меня есть регулярное выражение, которое мне нужно проверить.Регулярное выражение содержит двойные кавычки, но я не могу понять, как правильно их избежать.
Первая попытка не работает, поскольку кавычки не экранированы.
while read line
do
if [[ $line =~ "<a href="(.+)">HTTP</a>" ]]; then
SOURCE=${BASH_REMATCH[1]}
break
fi
done < tmp/source.html
echo "{$SOURCE}" #output = {"link.html"} (with double quotes)
Как я могу правильно запустить это, чтобы вывод link.html без двойных кавычек.
Я пытался ...
while read line
do
if [[ $line =~ "<a href=/"(.+)/">HTTP</a>" ]]; then
SOURCE=${BASH_REMATCH[1]}
break
fi
done < tmp/source.html
echo "{$SOURCE}" #output = {}
Без удачи.Может кто-нибудь, пожалуйста, помогите мне, чтобы я мог перестать биться головой о стол?Я не очень хорош с Башом.Спасибо!