awk '/DoLabelQuery\(self\)/||/QName\[[[[:digit:]][[[:digit:]]]/||/QName\[[[[:digit:]]]/ || /;BUTTON =/ || /endMethod/ || /endmethod/ || /add\(/ || /;CODE = /' HELLO.fsl > x.txt
Eu sei que tem que ser feito em um arquivo e rodar usando awk -f
. Eu simplesmente não consigo entender a sintaxe corretamente. O exemplo acima funciona no Linux no terminal.
Pode parecer complicado, mas tudo o que estou procurando são 5-6 exemplos de texto em que se encontrado leva a que a linha seja escrita para fora x.txt
. O QName
elemento nome está apenas procurando QName[##]
ou QName[#]
.
awk
? Se você quer apenas linhas combinadas para ser impresso,grep
parece uma boa ferramenta para o trabalhogawk-3.1.6
para win32 eu tenho o seu comando para trabalhar se eu usei apenas aspas duplas em vez de aspas simples, isso funciona para você?awk
no Windows? Eu recebo uma linha de saída se eu fizer, por exemplo:gawk "/cannot be run in DOS/" awk.exe
para quegawk
com aspas duplas possam processar arquivos binários e encontrar ascii dentro delesRespostas:
Quando eu tentei executar o seu comando no começo eu recebi o erro:
o que faz parecer que todas as partes do
awk
script estão sendo analisadas como palavras separadas e muitas delas estão sendo processadas como se fossem comandos posteriores||
. Isso porque, como essa pergunta SO mostra que as aspas simples não são realmente citações no shell do Windows cmd, como estão em (na maior parte?) Shells do Linux. cmd usa apenas aspas duplas, o que felizmente funciona bem para este comando, parece, então a solução aqui é usar:Embora eu espere colocar os comandos em um arquivo e usá-lo dessa maneira deve funcionar também.
fonte
Eu decidi usar o comando FINDSTR do Windows. É mais limitado, mas funciona corretamente na plataforma Windows. Consulte https://technet.microsoft.com/pt-br/library/bb490907.aspx
fonte