Confundido com o awk! Obtendo: 'não pode abrir "para saída'

0

Oi eu tenho 2 arquivos no meu diretório de trabalho. Um é um arquivo simples dado por:

$ cat file2 
START 
Unix 
Linux 
START 
Solaris 
Aix 
SCO

E eu tenho um arquivo xml de 6000 linhas chamado dblp_1_76007.xml.

Quando faço

awk '/START/{x="F"++i;}{print > x;}' file2

parece funcionar perfeitamente, mas se eu mudar o nome do arquivo para o xml que é quando eu mudo para:

awk '/START/{x="F"++i;}{print > x;}' dblp_1_76007.xml

Recebo a seguinte mensagem de erro:

awk: cannot open "" for output (No such file or directory)

Eu estava originalmente tentando fazer

awk '/<www/{x="F"++i;}{print > x;}' dblp_1_76007.xml

para dividir cada linha começando com www no xml e isso também me dá a mesma mensagem de erro.

Por que recebo esse erro?

    
por Yathi 11.03.2014 / 07:51

1 resposta

3

Você precisa de um valor inicial para x

awk -v x=F0 '/<www/{x="F"++i};{print > x}' dblp_1_76007.xml

ou apenas iniciar a saída no primeiro www :

awk '/<www/ {x="F"++i}; i > 0 {print > x}' dblp_1_76007.xml
    
por 11.03.2014 / 08:00

Tags