Uso de linha de comando do Centos gawk

0

Estou tentando executar o seguinte comando no Centos, mas recebo um erro? Token inesperado perto de '('

gawk { if($0=="id323"){print $0} } doc.txt
    
por Randy 06.04.2017 / 20:20

2 respostas

2

Você precisa colocar o script awk real entre aspas strongs para evitar que o shell as veja e tente analisá-las antes de passar o comando para awk :

gawk '{ if( $0 == "id123"){ print $0 } }' doc.txt

Como um aparte, você pode fazer isso com um pouco mais de elegância:

gawk '$0 == "id123" { print $0 }' doc.txt
    
por 06.04.2017 / 20:32
0

Eu não sei o que você quer alcançar. Este código só permite descobrir se existem linhas contendo id323 no documento. Você não ganha mais nenhuma informação sobre isso. Então, um simples grep seria suficiente.

Futhermore: Não vejo que a solução dada esteja correta. Eu acho que deveria ler:
gawk '$0 ~/id323/ { print $0 }' doc.txt
                     ou ainda mais curto, gawk '$0 ~/id323/' doc.txt

    
por 06.04.2017 / 21:14