Sed - Adicionar uma Linha em Branco no Final do Arquivo

Publicado por Mauricio Ferrari em 31/08/2020

[ Hits: 4.331 ]

Blog: https://github.com/mxnt10

 


Sed - Adicionar uma Linha em Branco no Final do Arquivo



Às vezes pode ser necessário adicionar um nova linha em um arquivo antes de gravar algo no final do arquivo. Vamos criar um exemplo para isso:
Linux: Sed - Adicionar um Arquivo em Branco no Final do Arquivo
Agora vamos acrescentar um texto na última linha:
Linux: Sed - Adicionar um Arquivo em Branco no Final do Arquivo
Como podemos perceber ele adicionou o texto na penúltima linha e não na última linha. Mas isso tem uma explicação, o $i de fato mapeou a última linha, porém ao adicionar na última linha, o texto da última linha passa para baixo, dando a impressão que o novo texto foi inserido na penúltima linha.

Para resolver isso, observe o exemplo a seguir:
Linux: Sed - Adicionar um Arquivo em Branco no Final do Arquivo
Agora o texto foi de fato inserido na última linha. Note que esse comando será necessário apenas uma vez, pois a linha adicionada sempre passa para baixo. Agora, uma breve explicação:
  • $s = Aplica a substituição apenas na última linha.
  • /$/\n/ = Vai até o final da linha ($) e substitui nada por \n, literalmente acrescentando uma quebra de linha, fazendo com que seja criada uma nova linha.

Espero que isso seja útil.

Outras dicas deste autor

Instalando o BootUp Manager no Deepin 20

Configurando o slackpkg para não apagar os pacotes após atualizações

Wi-Fi pedindo senha sempre que o Deepin 20 inicia [Resolvido]

gcc: fatal error: cannot execute 'cc1plus': execvp: [...] - Como resolver no Linux Mint 20

Gerenciador de Arquivos no Modo ROOT

Leitura recomendada

Gerenciar pacotes em baixo nível no Debian

Exercício Prático LPIC 05

Desmascarando pacotes em Sabayon e Gentoo

Os comandos basename e dirname

Coleções de softwares pré-definidas do Ubuntu

  

Comentários
[1] Comentário enviado por Ryuk em 31/08/2020 - 19:27h

Cara, não precisa disso não. O SED tem a opção "a" em vez de "i". Essa opção "a" insere o texto "após" a linha especificada (abaixo dela), enquanto o "i" insere exatamente na linha especificada. Tem também a opção "c" que substitui o texto da linha especificada.

[2] Comentário enviado por mauricio123 em 31/08/2020 - 19:51h


Agradeço pelo complemento. Mesmo assim, serviu de aprendizado para mim ao saber que é possível o uso do '\n' no sed.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts