Existem algumas maneiras de fazer isso. Melhor seria grep
:
grep -v 'repeat-info' file.log
Outras maneiras:
sed '/repeat-info/d' file.log
sed -n '/repeat-info/!p' file.log
awk '!/repeat-info/' file.log
Eu tenho um arquivo de log grande que contém várias linhas da mesma entrada, vamos chamá-lo de "info-repetição". Como exemplo, aqui está a aparência de uma parte do log:
[Timestamp] repeat-info
[Timestamp] repeat-info
[Timestamp] Log information 1
[Timestamp] Log information 2
[Timestamp] repeat-info
[Timestamp] Log information 3
[Timestamp] repeat-info
Existe um comando que pode gerar as informações no arquivo de log e excluir as informações repetidas? Torna-se um incômodo se eu tiver que usar more file.log
e filtrar todas as informações repetitivas para encontrar o que eu quero ver.
Estou lendo as man pages de sed
e awk
, como vi aquelas que aparecem nas pesquisas da minha pergunta, mas não encontrei nada conclusivo que faça o que eu preciso.
Eu estava pesquisando as questões antigas e encontrei esta questão que está relacionada com o meu.
Eu estava procurando uma maneira de fazer isso com um único comando ou dois canalizados, sem precisar criar um script.
Qualquer ajuda é apreciada!
Tags command-line shell command