1
resposta

Corrigindo o duplo espaço na saída do comando

A saída do comando que o professor Ricardo usou na aula veio com informações faltando pois no inicio da saída ele não mostra o Timestamp pis depois do mês temos dois espaços e o delimitador usado no cut é apenas um espaço.Com isso ele não ta pegando o horário e sim a parte que vem depois, que no caso da imagem anexada é o tesxo systemd[1]:, pois esse texto se encontra no campo 6, como o comando pega o campo do 1 ao 3 e do 6 em diante, logo esse pedaço do texto é apresentado na saída

cat logs | cut -d " " -f1-3,6-

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Como podemos resolver esse problema de duplos espaços e mandar para o cut tratar?

Usando o tr -s ' ' conseguimos resolver pois ele vai apagar caracteres duplicados em sequência, com isso ele vai apagar o espaço que tiver a mais na linha. Usei o comando abaixo:

cat logs | tr -s ' ' | cut -d " " -f1-3,6- 

A saída veio correta com o Timestamp: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Daniel, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

Fico feliz em ver sua postagem com a dica de como realizar a remoção da sequência de espaços, para que o resultado seja apresentado como esperado. A título de curiosidade, no log está sendo adicionado um espaço, devido ao dia presente no Timestamp ser menor do que 10, dessa forma é adicionado um espaço à esquerda do número que representa o dia, fazendo com que os campos não sejam reconhecidos corretamente. Sua dica de uso do tr -s ' ' para a remoção dos espaços duplicados será muito importante para este caso.

Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software