ruby
사용 가능한 경우 다음을 수행 할 수 있습니다
ruby -e 'puts readlines.join[/(?<=<tr>).+(?=<\/tr>)/m].gsub(/<\/?tr>/, "")' file
file
입력 HTML 파일은 어디에 있습니까 ? 이 명령은 Ruby one-liner를 실행합니다. 먼저 모든 행을 읽고 file
문자열에 조인합니다 readlines.join
. 그런 다음, 문자열에서 (그러나 포함하지 않음) 사이에 그것을 선택 아무것도 <tr>
및 <\/tr>
그 이상에 관계없이 줄 바꿈 한 문자 또는이다 [/(?<=<tr>).+(?=<\/tr>)/m]
. 그런 다음 문자열에서 <tr>
또는 </tr>
문자열을 제거합니다 gsub(/<\/?tr>/, "")
(중첩 tr
태그 를 처리하는 데 필요함 ). 마지막으로 문자열을 인쇄합니다 puts
.
당신은 HTML 파서 당신을 위해 보증하지 않고, 아주 쉽게 사용할 수 있다고 말했다 노코 기리을 함께 ruby
하고 명령 간단합니다.
ruby -rnokogiri -e 'puts Nokogiri::HTML(readlines.join).xpath("//tr").map { |e| e.content }' file
-rnokogiri
노코 기리 Nokogiri::HTML(readlines.join)
의 모든 줄을 읽습니다 file
. xpath("//tr")
모든 밖으로 픽 tr
요소 map { |e| e.content }
사이에 무엇인지, 즉 각 요소에 대한 내용 밖으로 추천 <tr>
하고 </tr>
.
'/<tr/{p=1}; p; /<\/tr>/{p=0}'
. 작동하지 않으면 입력 및 예상 출력 예를 게시하십시오.