具有多个分隔符的 awk

具有多个分隔符的 awk

我正在尝试执行awk这样的事情:

<tag x="whatever" y="http://mysite.com/somewords/word1/word2/word3/word4">

我想提取word2出永远存在的内容word1,因为我知道它somewords并不总是存在。

我可以使用 来做到这一点awk,但我使用了 3 次,每次都使用一个分隔符。

有没有办法将多个awk命令与多个分隔符合并,或者只awk选择一个命令word2

答案1

awk 分隔符可以是正则表达式,因此如果您想在空格和斜杠上分割行,您可以使用-F '[ /]'

但是,鉴于您的粗略描述,您可能只需要这个:

awk -F/ '{for (i=1; i<NF; i++) if ($i == "word1") {print $(i+1); break}}'

相关内容