Adicionar uma linha em um arquivo, independente se ele tiver conteudo ou não

1. Adicionar uma linha em um arquivo, independente se ele tiver conteudo ou não

Alex Machado Fontinelli
Pinguino

(usa Debian)

Enviado em 24/11/2020 - 20:39h

existe alguma forma de adicionar uma linha em um arquivo sem utilizar echo "texto" > arquivo.txt ??? eu procurei no google exemplos com sed, awk entre outros porem não encontrei nada que realmente fosse efetivo


  


2. Re: Adicionar uma linha em um arquivo, independente se ele tiver conteudo ou não

Ruan
ru4n

(usa Debian)

Enviado em 25/11/2020 - 14:41h

Se vc utilizar ">>" o echo vai adicionar uma linha vazia no final do arquivo, tendo conteúdo ou não (se não existir, é criado o arquivo).
echo >> arquivo.txt 


Com o sed, tenta dessa forma:
sed -i '$s/^\(.*\)$/\1\n/' arquivo.txt 



3. Re: Adicionar uma linha em um arquivo, independente se ele tiver conteudo ou não

Matheus
pylm

(usa Gentoo)

Enviado em 25/11/2020 - 14:58h

Tens algum motivo concreto pra evitar o echo ou é só pentelhice mesmo?


4. Re: Adicionar uma linha em um arquivo, independente se ele tiver conteudo ou não

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 25/11/2020 - 16:52h

Pinguino escreveu:

existe alguma forma de adicionar uma linha em um arquivo sem utilizar echo "texto" > arquivo.txt ??? eu procurei no google exemplos com sed, awk entre outros porem não encontrei nada que realmente fosse efetivo

Sim, existe!
printf "\n" >> arquivo.txt
Da para usar o sed, parâmetro 'insert', se não me engano
Com o gawk tbem é possível.

______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________




5. Re: Adicionar uma linha em um arquivo, independente se ele tiver conteudo ou não

Alex Machado Fontinelli
Pinguino

(usa Debian)

Enviado em 25/11/2020 - 18:12h

com sed só funciona se o arquivo tiver algum conteúdo não achei nenhum comando que não precise direcionar a saída, se alguém souber

obs: a ideia não é adicionar uma linha vazia mas sim adicionar um texto sem precisar direcionar >>


6. Re: Adicionar uma linha em um arquivo, independente se ele tiver conteudo ou não

Ruan
ru4n

(usa Debian)

Enviado em 25/11/2020 - 19:11h

Pinguino escreveu:

com sed só funciona se o arquivo tiver algum conteúdo não achei nenhum comando que não precise direcionar a saída, se alguém souber

obs: a ideia não é adicionar uma linha vazia mas sim adicionar um texto sem precisar direcionar >>


sed -i '$s/^\(.*\)$/\1\nTEXTO LALALA\n/' arquivo.txt 


Pra criar um arquivo sem redirecionar, consulte o comando touch.