Insertar determinado texto en el inicio o final de un archivo con sed, expresiones regulares

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.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   O_Pixote_O dijo

    Si que es corto si xD. Cuando me sobre tiempo tendre que investigar mas el comando sed, creo que me valdria para un proyecto.

    1.    KZKG^Gaara dijo

      Puedes empezar por acá: https://blog.desdelinux.net/tag/sed

  2.   usemoslinux dijo

    ahh… que sed! 🙂
    cuack!

  3.   44 dijo

    estos trucos-tips son los mejores… son precisos y al grano… publica mas

    1.    KZKG^Gaara dijo

      Gracias 🙂
      Aún tengo algunos más bajo la manga, espero poderlos poner poco a poco.

  4.   nabucodonosor dijo

    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.

    1.    KZKG^Gaara dijo

      Es una excelente idea, el problema es que … no sé, no soy muy bueno en tutoriales o manuales extensos, me cuesta mucho hacerlos 🙁

  5.   Joaquin dijo

    Buen tip!

  6.   Mario Guillermo Zavala Silva dijo

    Muchas Gracias por la información … Saludos

  7.   vidagnu dijo

    Excelente tip, yo me quedo con mi viejo echo jajaj

  8.   ignacio dijo

    Un tetris programado con el comando sed. Increíble no!

    http://uuner.doslash.org/forfun/sedtris.sed

  9.   marioloko dijo

    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)»

  10.   Mauricio dijo

    Gracias!!!!

  11.   Isma dijo

    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

  12.   ac dijo

    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

  13.   Swicher dijo

    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

    1.    SlaSh dijo

      El potente \n 😀

  14.   jhon dijo

    y si necesito insertar comillas dentro de ese texto???