Terminal: ¿Qué es $ sed y como funciona?

Posted on
replace macos command linux

¿Qué es sed?

sed es un editor de flujo de línea de comando. Su nombre proviene de un acrónimo de esas dos palabras. Si bien modifica el texto, la aplicación no es precisamente un editor de texto. sed recibió el ingreso de texto como un “flujo”. Luego, edita el flujo de acuerdo con sus instrucciones. Puede usar la coincidencia de patrones complejos para realizar sustituciones, o buscar y reemplazar básicos.

Si bien esto lo hace útil para ejecutar las funciones de buscar y reemplazar en un lote de archivos, no es tan fácil de usar como algo de Excel o Word. Sin embargo, sed es especialmente poderoso cuando se editan varios archivos de texto plano simultáneamente. Aunque descubrirá que la sintaxis requiere un poco de tiempo para acostumbrarse, una vez que lo haya entendido, verá cuán increíblemente poderoso puede ser este editor compacto.

Traducción Automática

Sustitución básica

$ sed 's/cat/dog/'

Componentes

Reemplazo global

$ sed 's/cat/dog/g'

Archivos de ingreso y egreso

$ sed 's/cat/dog/g' oldfile.txt > newfile.txt

Sobreescritura con el contenido del archivo

$ sed -i '' 's/cat/dog' oldfile.txt

Sobreescritura con el contenido del archivo y backup

$ sed -i.bak 's/cat/dog' oldfile.txt

Utilizando regex

$ echo "123 abc" | sed 's/[0-9][0-9]*/& &/'

Fuentes