Redirecionar entrada para vários arquivos de saída diferentes [duplicado]

1

Eu tenho um arquivo de entrada que se parece com isso:

<event>
foo
bar
</event>
<event>
random text
</event>

Eu gostaria de dividir isso em vários arquivos de saída, de modo que cada arquivo tenha exatamente um <event>...</event> .

Eu tentei fazer isso com awk , mas não está claro para mim como posso redirecionar a saída para diferentes arquivos de saída. É possível? Ou tenho que recorrer a algo como, por exemplo, python?

    
por pfnuesel 02.04.2017 / 21:25

1 resposta

2

Se dissermos re awk

awk '
    /<event>/{
        start=1
        n++
    }
    start{
        print >"output" n
    }
    /<\/event>/{
        start=0
        close("output" n)
    }
    ' input.file
    
por 02.04.2017 / 22:19