複数の区切り記号を持つawk

複数の区切り記号を持つawk

私は次のことをしようとしますawk

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

私はそれがいつもそこにいないことがわかったので、いつもword2そこにいたものを抽出したいと思いました。word1somewords

を使用してこれを実行できますが、awk毎回区切り文字を使用して3回使用しました。

awk複数のコマンドを複数の区切り文字にマージする方法はありますか、それともawk1つだけを選択しますかword2

答え1

awk区切り文字は正規表現である可能性があるため、スペースとスラッシュで行を分割するには、次のように使用できます。-F '[ /]'

しかし、おおよその説明を考えると、おそらく次のものが必要です。

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

関連情報