• ベストアンサー

URLの抜きだしをしたいです。

Cygwinを使用しています。あるディレクトリ以下のすべてのHTMLファイルから、リンクされているURLを抜きだしてテキストファイルに出力したいのですが、 grep -r 'href="http' ディレクトリ とやってURLをふくむ行を抜きだしたあと、どうすればいいのか分からなくなってしまいました。sedやawkを使えばできるかと思っているのですが・・・。 初歩的な質問で申し訳ありませんが、よろしくお願いしますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

一行にひとつのリンクしかないなら、コマンドラインで  $ cat ファイル名 | tr 'A-Z' 'a-z' | grep "href=" | sed -e 's/[^\n]*href=["'\'']//' | sed -e 's/["'\'' >][^\n]*//' > 出力ファイル名 たとえばこんな感じ。

beach_walker
質問者

お礼

sedでURL以外のところを消す、という方法でしょうか。 それでやってみます。ありがとうございます。

その他の回答 (1)

noname#86752
noname#86752
回答No.1

ファイルにリダイレクトしましょう。 grep -r 'href="http' ディレクトリ > url.txt とやれば、grepの結果がurl.txtというテキストファイルに吐き出されます。 あとはviやらlessやらで見ることができます。

beach_walker
質問者

お礼

あ、リダイレクトは知っていました。 不要なタグなどを除去し、URLだけの状態にしたかったんです。言葉足らずで申し訳ありません。

関連するQ&A