grepの結果からデータを取得する方法は?

grepの結果からデータを取得する方法は?

間の<td>データをgrepしたい</td>

例:

  • 1から始めなければならない<td>1</td>
  • 6から始めなければならない<td>6</td>

では、このデータをどのように取得しますか?

答え1

grep1行に複数回あれば通過します。

grep -oP '(?<=<td>).*?(?=</td>)' infile.txt
1
6

awk連続した複数パスの合計が等しい場合:

awk -v FS="(<td>|</td>)" '{for(i=2;i<=NF;i+=2) print $I}' infile.txt

関連情報