Cómo usar SED para editar el archivo en su lugar

Cómo usar SED para editar el archivo en su lugar

Linux admite varios tipos de utilidades de línea de comandos para automatizar las tareas que hacen que Linux en la línea líder del sistema operativo; Debido a su importancia y uso, tiene cientos de distribuciones basadas en Linux y sí admiten numerosos comandos para realizar acciones automáticamente.

Hay un gran grupo de comandos disponibles para Ubuntu y la utilidad de comando SED es uno de ellos; El comando SED se puede usar para realizar operaciones fundamentales en archivos de texto como edición, eliminar texto dentro de un archivo.

Junto con estas acciones primarias, SED proporciona una larga lista de opciones compatibles que pueden usarse para manipular la salida de acuerdo con los requisitos del usuario, inspirados en esto; Hemos compilado una guía que demostrará mantener los cambios en el archivo original usando el comando SED:

Cómo editar el archivo en su lugar usando el comando SED

Esta opción del comando SED se usa para editar el archivo y guardar los cambios en el original y se puede usar con todas las operaciones del comando SED:

La sintaxis para esta opción se describe a continuación:

Sintaxis

comando sed -i [nombre del archivo]

o

SED-Comando en el lugar [Nombre del archivo]

En la sintaxis dada anteriormente, la opción "-I" es constante (cuando está realizando en los cambios de archivo) y la palabra clave "comando" contiene las operaciones (sustitución, eliminación, agrega) que se realiza utilizando el comando SED; y, por último, el "nombre del archivo" dirige al nombre del archivo donde se toman todas las acciones que están asociadas con el comando SED.

Hemos tomado un archivo de texto que contiene pocas líneas de texto:

Extraigamos el contenido de "hacer un juego.TXTArchivo "utilizando el comando mencionado a continuación:

$ Cat Examp.TXT

Comencemos con el uso básico de que si usamos SED sin "-i"Opción, entonces imprimiría el resultado en el terminal y el archivo original no cambiará (como se verifica usando el comando" CAT ") como se muestra a continuación:

Diferencia entre el archivo de edición en su lugar y el archivo editar el comando SED

En el comando a continuación; "s"Se usa para la sustitución y reemplazará la palabra"Debian" con "Ubuntu". Además, la carta "gramo"Al final de este comando es para la acción global, significa que el reemplazo se realizaría en todo el archivo:

Examen de $ Sed 's/Debian/Ubuntu/G'.TXT

Y ahora usa el mismo comando con "-iOpción "como se da a continuación; Se nota que con la ayuda de "-i"El contenido dentro del archivo original ("hacer un juego.TXT") También se cambia ahora, como se muestra a continuación:

Nota: Puedes usar "-en su lugar" en lugar de "-i"; Ambas opciones tienen la misma funcionalidad:

Examen de $ Sed -i 'S/Debian/Ubuntu/G'.TXT

Cómo editar una línea específica de archivo en su lugar utilizando el comando SED

Y si desea cambiar el contenido de cualquier número de línea específico, puede agregar un valor numérico con la letra "S"; Por ejemplo, el comando dado a continuación reemplazará "Ubuntu" con "Debian" solo en la línea "2" y una vez que haya especificado el número de línea, el propósito de la letra "G" está anulada para que también pueda eliminarla:

$ sed -i '2s/ubuntu/Debian/' Examp.TXT

Además, puedes colocar "ps" firma con "sPalabra clave para realizar solo los cambios en la última línea del archivo; Al igual que el comando escrito a continuación pondrá la palabra "Ubuntu" en lugar de "Linux-Mint"En la última línea de"hacer un juego.TXT":

$ sed -i '$ s/ubuntu/linux -mint/'.TXT

Cómo eliminar una línea en un archivo utilizando el comando in-lugar de SED

La opción en el lugar tiene un uso extenso en el comando SED como se discutió anteriormente; Además de reemplazar las palabras en una línea, uno puede eliminar toda la línea y guardar la salida en el archivo principal usando "-i"Opción: el comando mencionado a continuación eliminará el número de línea"2"Del archivo" examp.TXT":

$ sed -i '2d' Examp.TXT

Y si desea eliminar las líneas excepto el número de línea "2"Entonces tienes que escribir el comando como se menciona a continuación:

$ sed -i '2!D 'Ejemplo.TXT

Conclusión

Ubuntu admite una variedad de comandos que se pueden usar para realizar las operaciones principales en archivos de texto como Head, o los comandos de cola se pueden usar para imprimir las líneas disponibles al inicio o al final de un archivo de texto. Sin embargo, hay algunas limitaciones, supongamos que no puede imprimir solo la línea número 2 de un archivo de texto usando el comando Head (aunque la línea número 2 viene en la sección del archivo). El comando SED lleva a otros comandos a este respecto; Este comando en Ubuntu ayuda a realizar operaciones básicas en archivos de texto, como sustitución, adición, eliminación, etc. Se observa que si se usa el comando SED, excepto la opción "-i", entonces el resultado se imprimiría solo en el terminal. En este artículo, la opción en el lugar del comando SED se describe en detalle y se puede adoptar con todas las operaciones SED. Para obtener una visión profunda de esta opción, hemos intentado usarlo con tantos comandos para construir conceptos básicos para usuarios novatos.