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

인용하다

관련 정보