2

私はこれで何も悪いことはしなかったと信じています:

sed -e "s_//[01]\.thumbs\.4chan\.org/[a-z0-9]\+/src/\([0-9]\*\)s\.jpg_/${LOC}/\1s.jpg_g" -e "s_//images\.4chan\.org/[a-z0-9]\+/src/\([0-9]\*\)\.\(jpg\|gif\|png\)_/${LOC}/\1.\2_g" $LOC.html > a

オンライン リンクがオフライン リンクに変換されない理由を教えてください。

4

2 に答える 2

2

私はそうあるべきだ\*と思いますか?それ以外の場合は、文字通りand を探します。\+*+*+

于 2012-04-20T08:38:31.310 に答える
1

sed単純な正規表現モードで使用すると、あなたが行っ+たように にエスケープする必要が\+あり、「予想どおり」アスタリスク*は asis である必要があります。逃げていません。\+と を使用したいくつかのテストを次に示します。*

sedinextended regexモードの使用を簡素化したい場合は、-rオプションを使用します。+, (, ).... をエスケープする必要はありません。

echo '//0.thumbs.4chan.org/abc123/src/029s.jpg' |
    sed -n "\_//[01]\.thumbs\.4chan\.org/[a-z0-9]\+/src/\([0-9]*\)s\.jpg_p"

echo '//images.4chan.org/abc123/src/029.jpg' |
    sed -n "\_//images\.4chan\.org/[a-z0-9]\+/src/\([0-9]*\)\.\(jpg\|gif\|png\)_p"

出力:

//0.thumbs.4chan.org/abc123/src/029s.jpg
//images.4chan.org/abc123/src/029.jpg
于 2012-04-20T10:26:25.433 に答える