<sometag param='
との間の文字列を取得したい'>
Get any string between 2 string and assign a variable in bashのメソッドを使用して、「x」を取得しようとしました。
echo "<sometag param='x'><irrelevant stuff='nonsense'>" | tr "'" _ | sed -n 's/.*<sometag param=_\(.*\)_>.*/\1/p'
問題は(sedのアポストロフィを正しくエスケープできないため、効率が低いことを除けば)、sedが最大値に一致することです。つまり、出力は次のようになります。
x_><irrelevant stuff=_nonsense
ただし、正しい出力は最小一致であり、この例では単に「x」です
ご協力いただきありがとうございます