Em sistemas Linux, você pode usar grep, tail, awk, sed e outros comandos para processar arquivos de texto para atender a diferentes necessidades. Aqui estão alguns comandos e uso comumente usados:
-
Imprima as linhas correspondentes acima e abaixo:
grep -5 'pattern' inputfile
: Imprima as 5 linhas antes e depois da linha correspondente.grep -C 5 'pattern' inputfile
: Imprima as 5 linhas antes e depois da linha correspondente.grep -A 5 'pattern' inputfile
: Imprima as últimas 5 linhas da linha correspondente.grep -B 5 'pattern' inputfile
: Imprima as primeiras 5 linhas de linhas correspondentes.
-
Verifique as três últimas linhas da instrução SQL enviada do endereço IP 192.168.0.10 no log lento do MySQL:
tail -50 /usr/local/mysql/data/sql-slow.log | grep -A 3 '192.168.0.10'
-
Combine um determinado campo no log de erros do PHP:
tail -100 /data/logs/php/php_error_5.3.log | grep "Memcache::get()"
-
Veja as linhas 5 e 10 de um arquivo:
sed -n '5,10p' filename
Isso permite visualizar apenas as linhas 5 a 10 do arquivo.
Os parâmetros comuns dessas ferramentas serão apresentados abaixo para nos dar uma compreensão mais profunda de suas funções e uso.
-
grep:
-r
Ou--recursive
: Pesquise recursivamente no diretório o texto correspondente.-i
Ou--ignore-case
: Ignore maiúsculas e minúsculas e execute uma pesquisa sem distinção entre maiúsculas e minúsculas.-v
ou--invert-match
: correspondência ao contrário, imprimindo linhas que não contêm texto correspondente.-n
ou--line-number
: exibe o número da linha que contém o texto correspondente.-l
Ou--files-with-matches
: imprima apenas os nomes de arquivos que contêm texto correspondente, sem exibir as linhas específicas correspondentes.-w
ou--word-regexp
: combine apenas palavras inteiras, evite correspondências parciais.
-
cauda:
-n
Ou--lines
: Especifique o número de linhas a serem exibidas no final do arquivo, o padrão é 10 linhas.-f
Ou--follow
: rastreie arquivos e exiba novos conteúdos em tempo real.-q
Ou--quiet
: Não exibe o nome do arquivo, adequado para monitorar apenas um arquivo.--pid
:-f
usado em conjunto com , especifica o ID do processo e interrompe o rastreamento quando o processo termina.
-
estranho:
-F
ou--field-separator
: Especifique o separador de campos, cujo padrão é espaço ou tabulação.-v
Ou--assign
: defina uma variável e atribua um valor.NF
: Variável integrada que indica o número de campos na linha atual.NR
: Variável integrada que indica o número da linha atualmente processada.BEGIN
eEND
: modos especiais que representam operações realizadas antes e depois do início e término do processamento, respectivamente.
-
sed:
-e
Ou--expression
: Use scripts para processar texto, vários scripts podem ser executados ao mesmo tempo.-n
ou--quiet
ou--silent
: imprime apenas o texto processado, não o texto original.-i
Ou--in-place
: modifique o conteúdo do arquivo diretamente, use-o com cuidado.s/pattern/replacement/
: o padrão correspondente no texto de substituição é o conteúdo de substituição especificado.p
: Imprima o texto processado.
Esses parâmetros tornam grep, tail, awk e sed ferramentas de processamento de texto muito poderosas, que podem desempenhar um papel importante na análise de log, processamento de dados e pesquisa de texto. Usando esses parâmetros, podemos realizar operações flexíveis de processamento de texto de acordo com as necessidades reais, melhorando assim a eficiência do trabalho. No entanto, deve-se observar que ao processar arquivos grandes, evite modificar diretamente o conteúdo do arquivo para evitar perda de dados. Recomenda-se fazer backup do arquivo antes de executar operações de processamento de texto.