awkを使用してHTMLファイルからURLを抽出するには?

awkを使用してHTMLファイルからURLを抽出するには?

ソースコードにJavaScriptとCSSを含むHTMLファイルがあります。 JSには、他のメタデータを含む一連のURLがリストされています。 awkを使用してURL(すべて二重引用符で囲み、前にhttp://が付く)を抽出し、そのURLを標準出力にダンプしたいと思います。ところで、awkをどのように書くかはわかりませんが、使えるツールのようです。

{
title: "Dsssat",
artist: "cxpl djij awsoj e",
mp3: "http://somesite.com/seal/dsssat.mp3",
},

答え1

なぜawkを使うのですか?sedこれをもっとよくしてください:

sed -ne 's/.*\(http[^"]*\).*/\1/p' < foo.js

答え2

あなたはそれを使用することができますgrep。二重引用符を含めるには、次のようにします。

grep -o '"http://[^"]*"' myfile.html

二重引用符を除外するには、次のようにします。

grep -o 'http://[^"]*' myfile.html

編集する

JavaScriptオブジェクトのURLのみを一致させるには、いくつかの追加のフィルタリングを実行する必要があります。

grep -o 'mp3: "http://[^"]*"' myfile.html | grep -o '"http://[^"]*"'

grep -o 'mp3: "http://[^"]*"' myfile.html | grep -o 'http://[^"]*'

関連情報