Pular para o conteúdo

Sed - Adicionar uma Linha em Branco no Final do Arquivo

Dica publicada em Linux / Comandos
Mauricio Ferrari (LinuxProativo) maurixnovatrento
Hits: 12.662 Categoria: Linux Subcategoria: Comandos
  • Indicar
  • Impressora
  • Denunciar

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.

Integrando AppImage no Debian, Ubuntu e Linux Mint

ExMplayer no Linux Mint 20

UMPlayer no Debian Ubuntu e Linux Mint

Criando Atalhos para Diretórios Ocultos no Linux

PhotoGIMP 2020 - Transforme seu GIMP 2.10 no Photoshop

Macete para busca reversa de comandos

Gnome/KDE: Sistema não loga ou efetua logoff em 10 segundos (ERRO no .ICEauthority)

Verificar e despachar e-mails encalhados no Sendmail

ifconfig + sed - Mostrando seu endereço IP

Como ter o som de login de volta no Ubuntu

#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 maurixnovatrento 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.

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

Contribuir com comentário

Entre na sua conta para comentar.