En determinadas ocasiones necesitamos insertar en el final de un archivo un texto, para ello podemos usar echo:
echo "Texto al final del archivo" >> archivo.txt
Pero, ¿qué hacer si deseo insertar el texto en el inicio?
Con sed y los parámetros adecuados podemos hacer esto y más.
Por ejemplo, para insertar en el inicio de un archivo un texto sería:
sed -i '1i Aqui texto que ira en la primera linea' archivo.txt
Mientras que para insertar en el final es:
sed -i '$a Aqui el texto que ira en la ultima linea' archivo.txt
O bien el echo de toda la vida:
echo "Aqui el texto que ira en la ultima linea" >> archivo.txt
Bueno nada más que agregar, es un post bastante corto en realidad.
Espero le resulte de utilidad a alguien, saludos.
18 comentarios, deja el tuyo
Si que es corto si xD. Cuando me sobre tiempo tendre que investigar mas el comando sed, creo que me valdria para un proyecto.
Puedes empezar por acá: https://blog.desdelinux.net/tag/sed
ahh… que sed! 🙂
cuack!
estos trucos-tips son los mejores… son precisos y al grano… publica mas
Gracias 🙂
Aún tengo algunos más bajo la manga, espero poderlos poner poco a poco.
Como siempre buen tip.
No has pensado (y no es broma) es reunir todos los tips y tutoriales del manejo por terminal de un sistema que nos has compartido y elaborar con ello un manual?
Sería muy pero muy bienvenido en la comunidad de usuarios Linux no profesionales teniendo en cuenta que el noventa por ciento de los tutoriales y manuales al respecto,aún a niveles básicos,en su mayoría son en inglés.
Digo,es una idea que me parece buena.
Es una excelente idea, el problema es que … no sé, no soy muy bueno en tutoriales o manuales extensos, me cuesta mucho hacerlos 🙁
Buen tip!
Muchas Gracias por la información … Saludos
Excelente tip, yo me quedo con mi viejo echo jajaj
Un tetris programado con el comando sed. Increíble no!
http://uuner.doslash.org/forfun/sedtris.sed
Yo soy nuevo en Linux, pero en los scripts uso mucho el comando sed, tambien esta bien la opción para sustituir una linea concreta:
sed –in-place «(numero de linea) c\ (Texto que queremos sustituir en esa linea)»
Gracias!!!!
Si en vez de guardar un texto al final del archivo, lo que queremos es guardar el resultado de un comando al final del archivo, ¿como seria?
Gracias
Y si quiero agregar un comando (en lugar de un simple texto) que contiene if, echo, etc, a un archivo, o agregar una función, o un alias????????
gracias
Con sed también se puede insertar una o mas lineas en cualquier lugar del texto tal como se puede ver en el siguiente ejemplo:
$ 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
El potente \n 😀
y si necesito insertar comillas dentro de ese texto???