Uso sencillo del comando sed

Publicado en: Tecnología

Para entederlo bien, hay que estudiar el ‘man’ a fondo. Romperse la cabeza y aprender Regexp. Solo así le sacarás partido al comando sed. Uno de los comandos más útiles para cambiar contenido en un fichero de texto. En un buen montón, de una sola vez.

Una sencilla regla de uso:

$ sed -i "s/lo que busco / el texto que lo reemplaza/g" /path/fichero

Entre comillas dobles ( » ) encerramos las 2 partes: lo que buscas en el contenido del fichero y por el texto que quieres reemplazarlo. La partes que buscas se antepone con s/ y la que quieres reemplazar se termina con /g

Ambas partes se separan por el slash, la barra normal ( / ).

Y el /path/fichero le indicamos la ruta completa en el sistema o relativa.

Cuando en el texto que buscas incluye comillas dobles ( « ), debes anteponer la barra invertida ( \ ) a las comillas, con al modo de regexp.

Un ejemplo, sencillo, que uso en cada instalación de máquina, para que el SNMP no me suelte mucha verborrea en el log de sistema, modifico el parámetro de nivel de log en el fichero de configuración. Con sed, en un solo paso, para CentOS 7 en concreto, es tan sencillo como ejecutar:

$ sed -i "s/Environment=OPTIONS=\"-LS0-6d\"/Environment=OPTIONS=\"-LS0-4d\"/g” /usr/lib/systemd/system/snmpd.service

Y listo, cambiado.

Que lo disfruten. SaludoX

  1. […] a lo que ya comentaba en Uso sencillo del comando sed podemos hacer un montón de cosas útiles. Más si cabe, cuanto más grande es el fichero que […]