compara a primeira ou terceira posição

2

O arquivo de log geral do mysql se parece com isso ...

110822 14:41:14 103700 Query    SHOW FULL TABLES FROM 'engine' LIKE 'PROBABLYNOT'
                103700 Query    SHOW FULL TABLES FROM 'engine' LIKE 'PROBABLYNOT'
110822 15:01:14 103701 Query    SHOW FULL TABLES FROM 'dbname' LIKE 'PROBABLYNOT'

A identificação de encadeamento 103701 pode ser encontrada no início ou na posição número 3 (após data e hora) Eu estou usando o seguinte comando para encontrar todas as consultas executadas em um segmento específico.

grep -w '103701' /var/log/mysql/general.log | cut -c 1-1000 | tail -10

Isto mostra muitas linhas onde o número 103701 é mencionado. Eu estou procurando este número apenas na primeira ou terceira posição. Qual deve ser a afirmação grep correta para isso?

    
por shantanuo 24.08.2011 / 12:10

1 resposta

2

Você pode usar awk para fazer isso:

$ awk '$1 == "103701" || $3 == "103701" { print $0 }' mysql-general.log
    
por 24.08.2011 / 12:18

Tags