Awk com vários delimitadores

0

Estou tentando executar awk em algo assim:

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

Gostaria de extrair o word2 , que vem para sempre depois de word1 , sabendo que somewords nem sempre existe.

Eu consegui fazer isso usando awk , mas usei 3 vezes, cada vez com um delimitador.

Existe alguma maneira de mesclar vários comandos awk com vários delimitadores, ou simplesmente um comando awk para escolher word2 ?

    
por 4m1nh4j1 04.11.2013 / 17:28

1 resposta

4

O delimitador awk pode ser uma expressão regular, portanto, se você quiser dividir a linha em, digamos, espaços e barras, use -F '[ /]'

Mas, dada a sua descrição incompleta, você pode precisar disso:

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