Вы можете использовать оператор сопоставления = ~
:
#! /bin/bash
var='<li class="rainbow-list-item southern disrupted " data-line-id="lul-southern" data-severity-codes="4,6,9" data-mode="national-rail">'
if [[ $var =~ data-severity-codes=\"([^\"]+)\" ]] ; then
echo ${BASH_REMATCH[1]}
fi
Вывод:
4,6,9
Или используйте инструмент, поддерживающий XML:
xmllint --xpath li/@data-severity-codes - <<< "$var</li>" \
| cut -f2 -d\"