AWK、SED、または GREP は、HTML ファイルからデータを抽出するために使用されます。

AWK、SED、または GREP は、HTML ファイルからデータを抽出するために使用されます。

カールを使用して受け取ったhtmlファイルから次のデータを抽出するのに最適なものを教えてくれる人はいますか?

<script>document.getElementById("test-summary").innerHTML = "<strong>Test Pages:</strong> 1 right, 0 wrong, 0 ignored, 0 exceptions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

私はその部分が必要です1 right, 0 wrong, 0 ignored, 0 exceptions。次のタグに基づいています。 document.getElementById("test-summary")これはいくつかのテスト結果であり、この結果に基づいていくつかのロジックを作成する必要があります。

誰かがこれを行う方法についてアドバイスをすることができればとても感謝します。

とても感謝しています、

イーストバーンカルーター

答え1

非常にエレガントではありませんが、次のことができます。

sed -ne 's/.*"test-summary".* \([0-9][0-9]* right [^&].*exceptions\)&nbsp.*/\1/p'

たとえば、

$ echo '<script>document.getElementById("test-summary").innerHTML = "<strong>Test Pages:</strong> 1 right, 0 wrong, 0 ignored, 0 exceptions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' | sed -ne 's/.*"test-summary".* \([0-9][0-9]* right,[^&].*exceptions\)&nbsp.*/\1/p'
1 right, 0 wrong, 0 ignored, 0 exceptions

答え2

そして:grepawk

grep 'document.getElementById("test-summary")' file.html | awk -F'</strong>|&' '{print $2}'

関連情報