Descripción general
sed lee la entrada de flujo (archivo o entrada estándar) línea por línea, aplica el script (comando) especificado y luego envía el resultado a la salida estándar. Se utiliza principalmente para modificar el contenido de archivos de texto, buscar y reemplazar patrones específicos, y eliminar líneas.
Funciones principales
- Potente coincidencia de patrones con expresiones regulares
- Sustitución de texto
- Eliminación de líneas
- Inserción y adición de líneas
- Modificación directa del contenido del archivo (opción -i)
Opciones principales
Las opciones principales del comando sed controlan la forma de especificar el script o el comportamiento de salida.
Control de script y comportamiento
Comando generado:
Combina los comandos.
Descripción:
`sed` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
Aprenda métodos de procesamiento de texto a través de varios ejemplos de uso de sed.
Sustituir una cadena específica
sed 's/old_text/new_text/g' filename.txt
Reemplaza todas las ocurrencias de 'old_text' por 'new_text' en el archivo. El flag 'g' sustituye todas las coincidencias en una línea.
Eliminar líneas que contienen un patrón específico
sed '/error/d' logfile.txt
Elimina todas las líneas que contienen la palabra 'error'.
Modificar el contenido del archivo in situ
sed -i.bak 's/DEBUG=true/DEBUG=false/g' config.txt
Cambia 'DEBUG=true' a 'DEBUG=false' en el archivo original 'config.txt' y crea un archivo de copia de seguridad con la extensión '.bak'.
Imprimir solo las primeras 5 líneas
sed -n '1,5p' data.txt
Imprime solo las primeras 5 líneas del archivo. Utiliza la opción '-n' y el comando '1,5p'.
Eliminar líneas en blanco
sed '/^$/d' document.txt
Elimina las líneas completamente en blanco del archivo.
Consejos y precauciones
Puntos a tener en cuenta y consejos para un uso eficiente de sed.
Malentendido sobre la opción -d de sed
En relación con la pista 'sed-d' proporcionada, `-d` no es una opción de línea de comandos válida para `sed`. El comando `sed` utiliza opciones como `-e`, `-f`, `-i`, `-n`, etc. Si ejecuta `sed -d`, `sed` podría interpretar `-d` como un nombre de archivo en lugar de una opción, o generar un error de opción desconocida.
Uso correcto del comando d
`d` es un comando utilizado dentro de un script de `sed` para eliminar líneas específicas. Por ejemplo, `sed '/pattern/d' filename` elimina todas las líneas que contienen 'pattern'. Este es un concepto completamente diferente de la opción de línea de comandos `-d`.
Ejemplo de uso del comando d
sed '/cadena_a_eliminar/d' input.txt > output.txt
Elimina las líneas que contienen 'cadena_a_eliminar' del archivo.
Uso de expresiones regulares
La potencia de sed radica en las expresiones regulares. Dominar varios metacaracteres (por ejemplo, `^`, `$`, `*`, `+`, `?`, `.` etc.) permite la coincidencia y sustitución de patrones complejos.
- `^`: Inicio de línea
- `$`: Fin de línea
- `.`: Cualquier carácter único
- `*`: El carácter anterior se repite cero o más veces
- `s/old/new/g`: Sustituye todas las 'old' por 'new'
- `/pattern/d`: Elimina líneas que contienen 'pattern'
Crear hábitos de copia de seguridad
Cuando modifique archivos directamente con la opción `-i`, siempre es recomendable especificar un sufijo de copia de seguridad para evitar la pérdida del archivo original (por ejemplo, `sed -i.bak ...`).