我正在尝试执行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}}'