HTMLファイルの2つの文字列間のBash Grep

HTMLファイルの2つの文字列間のBash Grep

curlコマンドを使用してファイルをダウンロードしました。htmlhomeoint.org/books/boericmm/d.htmそしてファイルとして保存してみてください。

関連部分は次のとおりです。

      <p><font size="2"><a href="d/dam.htm" target="_top">DAM</a> ------&gt;
      DAMIANA (TURNERA)<br>
      <a href="d/daph.htm" target="_top">DAPH</a> ------&gt; DAPHNE INDICA<br>
      <a href="d/dig.htm" target="_top">DIG</a> ------&gt; DIGITALIS PURPUREA
      (DIGITALIS)<br>
      <a href="d/dios.htm" target="_top">DIOS</a> ------&gt; DIOSCOREA VILLOSA<br>
      <a href="d/diosm.htm" target="_top">DIOSM</a> ------&gt; DIOSMA LINCARIS<br>
      <a href="d/diph.htm" target="_top">DIPH</a> ------&gt; DIPHTHERINUM<br>
      <a target="_top" href="d/dol.htm">DOL</a> ------&gt; DOLICHOS PRURIENS
      (DOLICHOS PURIENS - MUCUNA)<br>
      <a href="d/dor.htm" target="_top">DOR</a> ------&gt; DORYPHORA
      DECEMLINEATA (DORYPHORA)<br>
      <a href="d/dros.htm" target="_top">DROS</a> ------&gt; DROSERA
      ROTUNDIFOLIA (DROSERA)<br>
      <a href="d/dubo-m.htm" target="_top">DUBO-M</a> ------&gt; DUBOISIA
      MYOPOROIDES (DUBOISIA)<br>
      <a href="d/dulc.htm" target="_top">DULC</a> ------&gt; DULCAMARA<br>
      &nbsp;</font></p>

grepの値が必要です

"&gt;" to "<br>"

出力は次のようになります。

 DAMIANA (TURNERA)
 DAPHNE INDICA
 DIGITALIS PURPUREA (DIGITALIS)
 DIOSCOREA VILLOSA
 DIOSMA LINCARIS
 DIPHTHERINUM
 DOLICHOS PRURIENS (DOLICHOS PURIENS - MUCUNA)
 DORYPHORA DECEMLINEATA (DORYPHORA)
 DROSERA ROTUNDIFOLIA (DROSERA)
 DUBOISIA MYOPOROIDES (DUBOISIA)
 DULCAMARA

grepコマンドを使用しようとしています。

cat d.htm | grep -o -P '(?<=&gt; ).*(?=<br>)'

しかし、私の出力は不完全です。

ベストアンサー1

lynxHTMLをテキストとしてレンダリングし、各行の後のスペースの前にあるすべての項目をsed削除するために使用されます>(ただし、実際に影響を受ける行のみを印刷)。

$ lynx --dump 'http://homeoint.org/books/boericmm/d.htm' | sed -n 's/.*> //p'
DAMIANA (TURNERA)
DAPHNE INDICA
DIGITALIS PURPUREA (DIGITALIS)
DIOSCOREA VILLOSA
DIOSMA LINCARIS
DIPHTHERINUM
DOLICHOS PRURIENS (DOLICHOS PURIENS - MUCUNA)
DORYPHORA DECEMLINEATA (DORYPHORA)
DROSERA ROTUNDIFOLIA (DROSERA)
DUBOISIA MYOPOROIDES (DUBOISIA)
DULCAMARA

lynx改行の挿入に問題がある場合は、「ページ」幅をデフォルト値80からより高い数に増やします--widthlynxマニュアルを参照)。

おすすめ記事