間のデータを抽出しようとしています。
<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