No Linux, trabalhamos constantemente com arquivos de string e texto; Seja trabalhando com arquivos de log ou documentos, a manipulação de texto é um processo que não podemos escapar.
Este guia mostrará como localizar a última ocorrência de uma string em um arquivo no Linux. Linux tem muitas ferramentas que podem ajudar a executar tarefas. No entanto, por simplicidade, seguiremos as ferramentas prontamente disponíveis em todas as principais distribuições do Linux.
Método 1: Usando Grep
Impressão de expressão regular global, conhecida como Grep, é uma ferramenta de manipulação de texto popular e poderosa.
Funciona aceitando a entrada da entrada padrão ou um arquivo e procura um padrão especificado. Depois que o Grep encontra o padrão especificado, ele imprime o resultado para a saída padrão. O padrão especificado pode ser uma única string ou um regex complexo.
Suponha que tenhamos a autenticação do arquivo.log (/var/log/auth.registro). Para encontrar a última ocorrência de uma string (uid = 0), podemos usar o comando:
$ sudo grep “uid = 0” auth.log | cauda -1
A saída será como mostrado abaixo:
O comando é relativamente simples. Começamos encontrando a string que precisamos de usar grep. Em seguida, Grep listará todas as ocorrências de string e, finalmente, canalizamos a saída na cauda e localizamos a última linha da saída.
Você pode modificar o comando acima para obter as últimas cinco ocorrências da string como:
$ sudo grep “uid = 0” auth.log | cauda -5
Método 2: Awk
Awk é outra linguagem popular de manipulação de cordas. Awk é muito poderoso, pois oferece recursos incríveis em comparação com outros programas de manipulação de texto.
Para encontrar uma string semelhante à acima, podemos usar um comando como:
$ sudo awk '/uid = 0/flag = 1; bandeira '| cauda -1
Da mesma forma, isso mostrará a última ocorrência da string como:
Conclusão
É isso para este. Neste tutorial rápido, discutimos dois métodos principais para encontrar a última ocorrência de uma corda usando grep e awk.