awk htmlテーブルデータ間の列の選択

awk htmlテーブルデータ間の列の選択

間のデータを抽出しようとしています。

<td></td>

タグを使用しますが、次のようなものを使用すると

awk -F"<td>" {' $1 ":" $2 '}

列1と2の後に残りのhtmlデータが出力されます。その間にデータ/文字列自体のみを抽出するにはどうすればよいですか?

ベストアンサー1

これがあなたが望むものです:

$ awk -F'</*td>' '$2{print $2}' someFile

これは、<td>startとendに一致する分割パラメータを定義することによって達成されます</td>。これにより、中間文字列がフィールドに分割されます$2$2定義されている場合、残りは印刷されます。

はい

$ cat someFile
!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
   <HEAD>
      <TITLE>
         A Small Hello
      </TITLE>
   </HEAD>
<BODY>
   <table><td>hello world</td></table>
   <table><td>hello world</td></table>
   <table><td>hello world</td></table>
   <table>
   <td>hello world</td>
   </table>
   <H1>Hi</H1>
   <P>This is very minimal "hello world" HTML document.</P>
</BODY>
</HTML>

出力:

$ awk -F'</*td>' '$2{print $2}' someFile
hello world
hello world
hello world
hello world

引用する

おすすめ記事