Cómo eliminar caracteres especiales usando SED

Cómo eliminar caracteres especiales usando SED
El comando SED es una utilidad de Linux que se puede utilizar para realizar muchas operaciones que incluye operaciones de inserción y eliminación, buscar/buscar y reemplazar operaciones. El comando SED permite a los usuarios de Linux editar y aplicar varias funciones en los archivos sin abrirlos directamente. El comando SED admite funcionalidades de edición que varían desde el nivel de principiantes hasta el nivel avanzado: por ejemplo, dentro de un archivo de texto, estas operaciones se pueden realizar en varios tipos de datos: caracteres, caracteres numéricos, especiales, alfanumérico ET.,

Teniendo en cuenta la importancia del comando SED; Nuestra guía actual explorará varias formas de eliminar caracteres especiales usando el comando SED en Ubuntu.

La sintaxis del comando SED se escribe a continuación:

Sintaxis

comando sed [opciones] [nombre del archivo]

Los caracteres especiales a veces pueden ser una necesidad del contenido que se escribe en un archivo de texto, pero si se usan innecesariamente, hará que el archivo sea desordenado y hay posibilidades de que el lector no preste atención, lo que resulta en un documento sin propósito.

Cómo usar SED para eliminar caracteres especiales en Ubuntu

Esta sección describirá brevemente las formas de eliminar caracteres especiales de un archivo de texto usando SED; Depende del número de caracteres en su archivo que desee eliminar; Puede haber dos posibilidades al eliminar los caracteres de un archivo, o desea eliminar un solo carácter especial o desea eliminar varios caracteres a la vez. De estas posibilidades indicadas anteriormente, hemos extendido esta sección a dos métodos que abordarán ambas posibilidades:

Método 1: Cómo eliminar un solo carácter usando SED

Método 2: Cómo eliminar varios caracteres a la vez usando SED

El primer método aborda la primera posibilidad, y la segunda posibilidad se discutirá en el Método 2, vamos a profundizar en ellos uno por uno:

Método 1: Cómo eliminar un solo carácter especial usando SED

Hemos creado un archivo de texto "pez.TXT"Eso contiene pocos caracteres especiales en diferentes líneas; El contenido dentro del archivo se muestra a continuación:

$ Cat Ch.TXT

Puedes notar que el contenido dentro "pez.TXT"Es difícil de leer; Por ejemplo, queremos eliminar el personaje "#" del archivo de texto; Para esto, tenemos que usar el siguiente comando para eliminar "#" del documento completo:

$ sed 's/\#// g' ch.TXT

Además, si desea eliminar el carácter especial de la línea específica; Para eso, debe insertar el número de línea junto con la palabra clave "S" ya que el comando mencionado a continuación eliminará "#" de la línea número 3 solamente:

$ sed '3s/\#// g' ch.TXT

Método 2: Cómo eliminar varios caracteres a la vez usando SED

Ahora tenemos otro archivo "archivo.TXT"Eso contiene más de un tipo de personaje y queremos eliminarlos en una sola vez. En este método, la sintaxis se cambia poco desde el comando anterior; Por ejemplo, tenemos que eliminar cinco caracteres "ps" de "archivo.TXT";

En primer lugar, mire el contenido de "archivo.TXT"Como las palabras son interrumpidas por estos personajes;

$ Cat File.TXT

El comando indicado a continuación ayudará a eliminar todos estos personajes especiales de "archivo.TXT":

$ sed 's/[#$%*@] // g'.TXT

Aquí podemos dibujar otro ejemplo, digamos que queremos eliminar solo unos pocos personajes de líneas específicas.

Hemos creado un nuevo archivo y el contenido del "archivo nuevo.TXT"Se muestra a continuación:

$ Cat Newfile.TXT

Para esto, hemos escrito un comando que eliminará "#@" y "%*"De las líneas 2 y 3 de"archivo nuevo.TXT"Respectivamente.

$ sed '2s/[#@] // g; 3s/[%*] // g 'Newfile.TXT

El comando SED utilizado en los métodos anteriores mostrará el resultado solo en el terminal en lugar de aplicar los cambios en el archivo de texto: para eso, debemos usar la opción "-I" del comando SED. Se puede usar con cualquier comando SED y los cambios se realizarán en el archivo en lugar de imprimir en el terminal.

Conclusión

Aparentemente, el comando SED actúa como un editor de texto habitual, pero tiene una lista mucho más extensa de acciones en comparación con otros editores. Solo tiene que escribir un comando y los cambios se realizarán automáticamente; Esta característica atrae a los entusiastas de Linux o a los usuarios que prefieren la terminal sobre la GUI. Siguiendo las funcionalidades ventajosas de SED; Nuestra guía se centra en eliminar caracteres especiales del archivo de texto. Si comparamos solo esta característica del comando SED con otros editores, debe buscar caracteres en todo el archivo y luego eliminarlos uno por uno es un proceso tedioso. Por otro lado, SED realiza la misma acción escribiendo un comando de una sola línea en la terminal.