Ubuntu Linux
  • Dj Faustus #1609
    Kis segítség (nem teljesen tökéletes):
    sed -n 's/\(.*\)<img\(.[^<>]*\)src="\(.[^<>"]*\)"\(.*\)/\3/gp'
    Ez a parancs kiszedi a bemenetére érkező HTML-forrásból a képeket létrehozó <img> tag src attribútumának értékét (vagyis a kép elérhetőségét).

    A reguláris kifejezés részekre szedve:
    \(.*\)<img - Az <img> tag előtti bármilyen karakter (ez az első blokk).
    \(.[^<>]*\) - Az <img> tag eleje, és az src attribútum közötti rész (ez a 2. blokk). Nem tartalmazhatja a < és a > karaktereket ([^<>]).
    src="\(.[^<>"]*\)" - Az src attribútum és értéke (\(.[^<>"]*\) - ez a 3. blokk). Az érték nem tartalmazhatja a <,> és " karaktereket ([^<>"]).
    \(.*\) - Az src attribútum utáni dolgok (ez a 4. blokk).

    Nekünk a 3. blokkra van szükségünk, ezért ha találunk megfelelő mintára illeszkedő kifejezést, akkor kicseréljük a 3. blokkra (az egész elején levő s kapcsoló hajtja végre a cserét).

    Próbáld ki:
    wget -qO- http://kepfeltolto.hu/index.php?m=10 | sed -n 's/\(.*\)<img\(.[^<>]*\)src="\(.[^<>"]*\)"\(.*\)/\3/gp'

    "Szerintem perl-be írd és nem kell hozzá reguláris kifejezést használnod, rengeteg parser modul van perlhez. "
    Azok is reguláris kifejezést használnak. ;)