En certas ocasións necesitamos inserir no final dun ficheiro un texto, para iso podemos empregar eco:
echo "Texto al final del archivo" >> archivo.txt
Pero que facer se quero inserir o texto ao iniciar?
Con sed e os parámetros correctos podemos facer isto e moito máis.
Por exemplo, para inserir no iniciación dun ficheiro un texto sería:
sed -i '1i Aqui texto que ira en la primera linea' archivo.txt
Mentres inserir no final é a seguinte:
sed -i '$a Aqui el texto que ira en la ultima linea' archivo.txt
Ou o eco de toda a vida:
echo "Aqui el texto que ira en la ultima linea" >> archivo.txt
Ben, nada máis que engadir, é unha publicación bastante curta.
Espero que sexa útil para alguén, saúdos.
18 comentarios, deixa os teus
Se isto é curto se xD. Cando teña máis tempo terei que investigar máis o comando sed, creo que sería útil para un proxecto.
Podes comezar aquí: https://blog.desdelinux.net/tag/sed
ahh ... que sede! 🙂
charlatán!
estes trucos son os mellores ... son precisos e precisos ... publicar máis
Grazas
Aínda teño algo máis na manga, espero poder poñelos pouco a pouco.
Como sempre bo consello.
Non pensou (e non é unha broma) reunir todos os consellos e tutoriais sobre a xestión de terminales dun sistema que compartiu connosco e desenvolver un manual con el?
Sería moi, moi benvido na comunidade de usuarios non profesionais de Linux tendo en conta que o noventa por cento dos tutoriais e manuais sobre o tema, incluso nos niveis básicos, están principalmente en inglés.
É unha boa idea.
É unha idea excelente, o problema é que ... non sei, non son moi bo en titoriais ou manuais extensos, cústame facelos 🙁
Bo consello!
Moitas grazas pola información ... Un saúdo
Excelente consello, quédome co meu vello eco jajaja
Un tetris programado co comando sed. Incrible, non!
http://uuner.doslash.org/forfun/sedtris.sed
Son novo en Linux, pero nos scripts uso moito o comando sed, a opción de substituír unha liña específica tamén está ben:
sed –in-place "(número de liña) c \ (Texto que queremos substituír nesa liña)"
Grazas!
Se no canto de gardar un texto ao final do ficheiro, o que queremos é gardar o resultado dun comando ao final do ficheiro, como sería?
grazas
E se quero engadir un comando (no canto dun simple texto) que conteña if, echo, etc, a un ficheiro, ou engadir unha función ou un alias ????????
grazas
Con sed tamén pode inserir unha ou máis liñas en calquera parte do texto como se pode ver no seguinte exemplo:
$ echo -en "una linea\notra linea"
una linea
otra linea
$ echo -en "una linea\notra linea" | sed '2i Aquí texto que ira en\n medio de las lineas'
una linea
Aquí texto que ira en
medio de las lineas
otra linea
O poderoso \ n 😀
e se necesito inserir comiñas dentro dese texto ???