martes, 11 de agosto de 2015

Insertar determinado texto en 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


sed -i '22i moises    ALL=(ALL:ALL) ALL' /etc/sudoers  
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

Para sustituir una linea es:

sed -i '1 s|texto_actual|texto_nuevo|g' /ruta/archivo 

sed -i '1 s|samba|samba.proyec.net.ve|g' /etc/hostname

Bueno nada más que agregar, es un post bastante corto en realidad.

Espero le resulte de utilidad a alguien, saludos.

No hay comentarios:

Publicar un comentario