Вот пример обрабатываемого $html, где каждый абзац обрамлён <div>
класса "jurAbsatz"
<div><div class="jurAbsatz">(1) Verletzt der Schuldner eine Pflicht aus dem Schuldverhältnis, so kann der Gläubiger Ersatz des hierdurch entstehenden Schadens verlangen. Dies gilt nicht, wenn der Schuldner die Pflichtverletzung nicht zu vertreten hat.</div><div class="jurAbsatz">(2) Schadensersatz wegen Verzögerung der Leistung kann der Gläubiger nur unter der zusätzlichen Voraussetzung des § 286 verlangen.</div><div class="jurAbsatz">(3) Schadensersatz statt der Leistung kann der Gläubiger nur unter den zusätzlichen Voraussetzungen des § 281, des § 282 oder des § 283 verlangen.</div></div>
Вот код, от которого ожидается, что он выведет текст абзаца с номером, соответствующим значению переменной $Absnr
count=0
while [[ $html =~ '<div class="jurAbsatz">([^<]*)<\/div>' ]]; do
if [ $count -eq $Absnr ]; then
printf '%s' "${BASH_REMATCH[0]}" | decodehtml
break
fi
((count++))
done
Почему-то код ничего не выводит. В чём ошибка?
P.S. функция decodehtml к делу отношения не имеет: она определена, заменяет (через sed) HTML character codes на Юникод и работает корректно