caractere especial do AWK

1

Se eu quiser awk o padrão abaixo em um arquivo

Mobilenumber '91_987986787688899' was successful

Eu usei o código abaixo

awk '/Mobilenumber '91_987986787688899' was successful/ {print $0}' Log Filename

Embora o arquivo de log tenha essa frase, ele não renderiza nenhum resultado.

Passei um tempo nisso, mas não tive sucesso ... Por favor, ajude

    
por ramp 09.10.2013 / 17:35

2 respostas

4

Você também pode usar grep :

grep "91_987986787688899.*successful" file

A menos que seu arquivo tenha um formato muito estranho, você provavelmente também poderia fazer isso:

awk '/91_987986787688899.*successful/' file

Não há necessidade de print $0 , está implícito.

    
por 09.10.2013 / 17:45
2

Simplesmente coloque seu padrão em aspas duplas . No seu caso, você vai querer fugir de $ para evitar a interpolação de variáveis pelo shell:

awk "/Mobilenumer '91_987986787688899' was successful/ {print \
sed "/Mobilenumer '91_987986787688899' was successful/" your_file   
}" your_file

Você também pode usar sed cuja ação padrão é imprimir seu espaço padrão:

awk "/Mobilenumer '91_987986787688899' was successful/ {print \
sed "/Mobilenumer '91_987986787688899' was successful/" your_file   
}" your_file
    
por 09.10.2013 / 17:41

Tags