【问题标题】:How to get a word between two expressions in AWK?如何在 AWK 中的两个表达式之间获取一个单词?
【发布时间】:2012-11-22 17:46:45
【问题描述】:

我想使用 AWK 从这样的 html 中获取名称:

span class="full-name" span class="given-name" John /span span class="family-name" Doe /span  /span 

所以我想从中提取JohnDoe,方法是将... "given-name" 之后的部分剪切到/span 以及姓氏。

你能帮我解决这个问题吗?

【问题讨论】:

  • 您可能想再次插入<>
  • 是否必须awk
  • 当然有 ...抱歉,为时已晚...不一定,欢迎任何解决方案。提前致谢

标签: regex text awk


【解决方案1】:

我不确定您关于 <> 符号的问题发生了什么。据我了解,您的 html 如下所示:

<span class="full-name"><span class="given-name">John</span><span class="family-name">Doe</span></span>

你可以像这样使用GNU grep 来获取你想要的标签:

grep -oP '(?<=-name">)[^<]*' file

结果:

John
Doe

【讨论】:

  • 这对我有用: BEGIN{ FS="[\"]" } { if( $1=="" && $2 == "span class=" && $3=="full- name" && $7=="given-name" && $13=="family-name" ) 打印 $9 ";" $15}
猜你喜欢
  • 2021-01-06
  • 2020-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多