Comando SED en Linux con 15 ejemplos prácticos
- 1725
- 261
- Mario Gollum
El 'sed'
El comando es una herramienta esencial para manipular el texto en Linux. Le permite buscar patrones en un texto y realizar varias operaciones en el texto coincidente, como reemplazarlo, eliminarlo o imprimirlo. Este comando toma la entrada de un archivo o entrada estándar.
El comando SED predeterminado no realiza cambios en el archivo original hasta que usó el -i
Parámetro de línea de comando. El comando alerta el texto y envía el resultado a la salida estándar. También puede redirigir el texto al archivo según los requisitos.
En este artículo, proporcionaremos 15 ejemplos prácticos de uso del 'sed'
Comandar para realizar varias tareas.
Reemplazar el ejemplo de cadenas usando SED
1. Reemplace la cadena en un archivo
Para reemplazar una cadena en un archivo, puede usar el 'S/Old_String/New_String/G'
dominio. La sintaxis es:
12 | # Syntaxsed 's/old_string/new_string/g' file_name |
Para reemplazar las cadenas en un archivo utilizando el comando SED, use el -i
argumento para hacer los cambios en el lugar. La cadena de comando debe incluir el comando sustituto 's', la cadena original y la cadena de reemplazo. Por ejemplo, para reemplazar todas las instancias de la cadena "Apple" con la cadena "Banana" en un archivo llamado Fruits.txt, use el siguiente comando:
Vea el siguiente ejemplo:
frutas de sed 's/manzana/plátano/g'.TXT
Este comando lee el contenido de los "frutas.archivo "y reemplaza todas las ocurrencias de la palabra "manzana" con la palabra "banana" e imprime el texto resultante en la terminal. El gramo
le dice al comando que reemplace todos los ocurrencias coincidentes a nivel mundial en el archivo.
También puede realizar los cambios en el mismo archivo con el -i
opción.
frutas de Sed -i/Apple/Banana/G '.TXT
Verá que el archivo original se modifica. También puede hacer una copia de seguridad del archivo antes de hacer cambios en el archivo original.
sed -i.frutas de Bak 'S/Apple/Banana/G'.TXT
Se creará un archivo de copia de seguridad del original en el directorio actual con el nombre frutas.TXT.bak.
2. Reemplace la primera aparición de cada línea
Para sustituir solo la primera aparición de un patrón en cada línea, puede usar el s/patrón/reemplazo/comando. Por ejemplo, para reemplazar solo la primera ocurrencia de la palabra "manzana" con la palabra "plátano" en las frutas del archivo.txt, puede usar el siguiente comando:
Sed 's/manzana/plátano/' frutas.TXT
3. Reemplace la última aparición de cada línea
Para sustituir solo la última aparición de un patrón en cada línea, puede usar el comando s/patrón/reemplazo/g '. Por ejemplo, para reemplazar solo la última aparición de la palabra "manzana" con la palabra "plátano" en las frutas del archivo.txt ', puede usar el siguiente comando:
sed 's/\ (.*\) Apple/\ 1Banana/G 'frutas.TXT
4. Reemplace la cadena en un número de línea específico
Para reemplazar una cadena en una línea específica, puede usar los lineros/patrón/reemplazo/comando. Por ejemplo, para reemplazar la primera aparición de la palabra "manzana" con la palabra "plátano" en la línea 3 de las frutas de archivo.txt, puede usar el siguiente comando:
Sed '3S/Apple/Banana/' Frutas.TXT
5. Reemplace la cadena desde el rango de números de línea
Para reemplazar una cadena en una variedad de líneas, puede usar StartLinEnumber, EndlinEnumber/Pattern/Reemplazo/Comando. Por ejemplo, para reemplazar la primera aparición de la palabra "manzana" con la palabra "plátano" en las líneas 3 a 5 de las frutas de archivo.txt, puede usar el siguiente comando:
Sed '3,5s/manzana/plátano/' frutas.TXT
Eliminar líneas en el archivo usando SED
6. Eliminar la primera línea del archivo
Para eliminar una línea que contiene una determinada cadena, puede usar el comando /patrón /d. Por ejemplo, para eliminar todas las líneas que contienen la palabra "Apple" en las frutas del archivo.txt, puede usar el siguiente comando:
frutas sed '1d'.TXT
7. Eliminar la línea contiene cierta cadena
Para eliminar una línea que contiene una determinada cadena, puede usar el '/Patrón/D'
dominio. Por ejemplo, para eliminar todas las líneas que contienen la palabra "Apple" en las frutas del archivo.txt, puede usar el siguiente comando:
frutas sed '/manzana/d'.TXT
8. Eliminar líneas excepto la cadena coincidente
Para invertir las líneas coincidentes, puede usar el '!'
operador en combinación con otros comandos. Por ejemplo, para eliminar todas las líneas que contienen la palabra "Apple" en las frutas del archivo.txt, puede usar el siguiente comando:
sed '/manzana/!D 'frutas.TXT
9. Eliminar el rango de líneas
Para eliminar una variedad de líneas, puede usar el StartlinEnumber, Endlinenumbert
dominio. Por ejemplo, para eliminar las líneas 3 a 5 del archivo frutas.TXT
, Puede usar el siguiente comando:
frutas sed '3,5d'.TXT
10. Eliminar líneas vacías del archivo
Puede eliminar las líneas vacías del archivo usando '/^$/d'
opción.
frutas sed '/^$/d'.TXT
Este comando considera una línea como vacía, que no contiene ningún carácter, incluso un solo espacio.
Impresión de líneas desde el archivo utilizando SED
11. Solo números de línea de impresión
Para imprimir solo los números de línea de líneas coincidentes, puede usar el '/Pattern/='
dominio. Por ejemplo, para imprimir los números de línea de todas las líneas que contienen la palabra "Apple" en las frutas del archivo.txt, puede usar el siguiente comando:
Sed '/Apple/=' frutas.TXT
12. Imprimir el rango de archivo
Para imprimir una variedad de líneas, puede usar el 'Comienza, endp'
comandos. Por ejemplo, para imprimir las primeras 10 líneas de las frutas del archivo.txt, puede usar el siguiente comando:
frutas sed -n '1,10p'.TXT
Insertar líneas para archivar usando SED
13. Inserte una nueva línea después del patrón de coincidencia
Para insertar una línea después de un determinado patrón, puede usar el '/Pattern/A \ Newline'
dominio. Por ejemplo, para insertar la línea "uvas" después de la línea que contiene la palabra "manzana" en las frutas del archivo.txt, puede usar el siguiente comando:
frutas de sed '/manzana/a \ uvas'.TXT
14. Inserte una nueva línea antes del patrón de coincidencia
Para insertar una línea antes de cierto patrón, puede usar el '/Pattern/i \ Newline'
dominio. Por ejemplo, para insertar la línea "uvas" antes de la línea que contiene la palabra "manzana" en las frutas del archivo.txt, puede usar el siguiente comando:
frutas sed '/manzana/i \ \ \ uvas.TXT
Otras tareas usando SED
15. Cambiar caso de caracteres
Para cambiar el caso de una cadena, puede usar el 'y/viejo/nuevo/'
dominio. Por ejemplo, para cambiar todas las letras minúsculas a mayúsculas en las frutas del archivo.txt, puede usar el siguiente comando:
SED 'Y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' FRUITOS.TXT
Conclusión
Esperamos que estos ejemplos hayan sido útiles para mostrarle la versatilidad del comando SED. Recuerde que SED es una herramienta muy poderosa y es importante probar sus comandos cuidadosamente antes de usarlos en archivos importantes. Si tiene alguna pregunta o necesita más ayuda, no dude en preguntar. Con estos ejemplos prácticos en su haber, estará en camino de dominar el comando SED y convertirse en un administrador de Linux competente.
- « Comenzando con la línea de comandos de Linux al principio
- Ordenar el comando en Linux con ejemplos prácticos »