カールを使用して受け取ったhtmlファイルから次のデータを抽出するのに最適なものを教えてくれる人はいますか?
<script>document.getElementById("test-summary").innerHTML = "<strong>Test Pages:</strong> 1 right, 0 wrong, 0 ignored, 0 exceptions
私はその部分が必要です1 right, 0 wrong, 0 ignored, 0 exceptions
。次のタグに基づいています。 document.getElementById("test-summary")
これはいくつかのテスト結果であり、この結果に基づいていくつかのロジックを作成する必要があります。
誰かがこれを行う方法についてアドバイスをすることができればとても感謝します。
とても感謝しています、
イーストバーンカルーター
答え1
非常にエレガントではありませんが、次のことができます。
sed -ne 's/.*"test-summary".* \([0-9][0-9]* right [^&].*exceptions\) .*/\1/p'
たとえば、
$ echo '<script>document.getElementById("test-summary").innerHTML = "<strong>Test Pages:</strong> 1 right, 0 wrong, 0 ignored, 0 exceptions ' | sed -ne 's/.*"test-summary".* \([0-9][0-9]* right,[^&].*exceptions\) .*/\1/p'
1 right, 0 wrong, 0 ignored, 0 exceptions
答え2
そして:grep
awk
grep 'document.getElementById("test-summary")' file.html | awk -F'</strong>|&' '{print $2}'