curl を使用してサイトから html を取得していますが、'standards.xml?revision=' と '&' の間にある特定の文字列が必要です。これを行うためにsedを使用していますが、正規表現を正しく取得できないようで、助けが必要でした。
curl website.com | sed -r 's|.*standards\.xml\?revision=([0-9]+).*|\1|'
私が得ている出力は完全な html です。
使用できますgrep -oP
(PCRE オプション):
grep -oP 'standards\.xml\?revision=\K[0-9]+'
\K
一致したテキストをリセットするため、後の部分のみ[0-9]+
が返されます。
curl website.com | sed -n '/xml/ {s|.*standards\.xml\?revision=([^&]+).*|\1|p;q;}'
以前の sed から [0-9]+ は、数値が発生した場合にのみ、おそらく [^&]+ の方が適切です。' と | を使用すると非常に便利です。\ の問題を避けるために、私はそれを選びます :-)