grep で HTMLタグの値を取り出す。
curl と組み合わせて戦う
curl $URL | grep -oP '(?<=name="post_id" type="hidden" value=").+(?=" />)'
grep では後方参照がいい感じに取れないので、「後読み(lookbehind)や先読み(lookahead)」を使って対応することになる。
HTMLのinputのvalueを取り出す例
次のようなHTMLがあって、valueだけを取り出したい。とする、。
<input name="post_id" type="hidden" value="XxICIHRNcDFBr9RlssAMZz9U7Y3FHCpk" />'
先読み(look ahead)を使って前方一致を条件に入れる
grep -oP '(?<=name="post_id" type="hidden" value=").+'
後読み(look behind)
grep -oP '.+(?=" />)'
組み合わせて
grep -oP '(?<=name="post_id" type="hidden" value=").+(?=" />)'
これで冒頭条件の構成がわかる。
過去資料
grep にない後方参照を使う方法など