Postagem em destaque

Criando bot do Telegram em Shell script com ShellBot

Gerando log’s cronológicos do histórico do apt-get

sed + cat + bash

Linha de comando:

$ sed '1d;s/([^(]*)//g;s/,/\n/g;/^$/c EOF' /var/log/apt/history.log  | sed -r '/^Start-Date:/I{ s/\s+|:/-/g;s/^[a-z-]+(-.*)/cat>apt\1.log<<EOF/I };$a EOF' | bash

Etapas

  1. sed - Lê o conteúdo do arquivo history.log, onde estão registrados os pacotes instalados/removidos via apt-get. Remove a primeira linha, elimina as informações de versionamento que estão entre parênteses, substitui o delimitador ',' (vírgula) que separa os pacotes por '\n' (nova linha) fazendo com que os itens fiquem um debaixo do outro e altera as linhas em branco para EOF.
  2. sed - Nas linhas que contém a expressão Start-Date:, substitui os espaços excessivos e o caractere ':' (dois-pontos) por '-' (hífen), inclusive a própria expressão é removida; Monta-se a linha de comando do cat para geração dos arquivos, inserindo o prefixo apt seguido da data-hora dos eventos e adiciona a extensão .log finalizando estrutura cat >>ARQUIVO<<EOF.
  3. bash - Lê a entrada padrão e executa os comandos criando os arquivos
Clique na imagem para ampliar
Observação: Os arquivos são gerados no diretório atual com a seguinte nomenclatura: apt-ano-mes-dia-hora-min-seg.log

** Tenha sua solução postada aqui **

Se está enfrentando dificuldades no momento de montar sua linha de comando para resolução de um problema ou talvez não sabe por onde começar. Participe preenchendo o formulário a seguir. Descreva detalhes sobre o problema enfrentado e quem sabe a próximo X DA QUESTÃO seja o seu !!!

Formulário: X DA QUESTÃO

Comentários

Contato

Nome

E-mail *

Mensagem *