Programación BASH

Eliminar caracteres de la cadena en Bash

Eliminar caracteres de la cadena en Bash

A veces, es posible que deba eliminar caracteres de una cadena. Cualquiera sea el motivo, Linux le proporciona varias herramientas prácticas integradas que le permiten eliminar caracteres de una cadena en Bash. Este artículo le muestra cómo usar esas herramientas para eliminar caracteres de una cadena.

El artículo cubre cómo realizar lo siguiente:

Los comandos que se muestran en este artículo se realizaron en Ubuntu 20.04 Fosa focal. Los mismos comandos también se pueden ejecutar en otras distribuciones de Linux que tienen las herramientas anteriores disponibles. Usaremos la aplicación Terminal predeterminada para ejecutar los comandos. Puede acceder a la aplicación Terminal usando el atajo de teclado Ctrl + Alt + T.

Eliminar caracteres de la cadena usando sed

Sed es una utilidad poderosa y útil que se utiliza para editar secuencias de texto. Es un editor de texto no interactivo que le permite realizar manipulaciones básicas de texto en flujos de entrada. También puede usar sed para eliminar caracteres no deseados de cadenas.

Para fines de demostración, usaremos una cadena de muestra y luego la canalizaremos al comando sed.

Eliminar un carácter específico de la cadena

Usando sed, puede eliminar un carácter específico de una cadena. Por ejemplo, para eliminar "h" de la cadena "Hola como estas?”El comando sería:

$ echo "hola como estas?"| sed 's / h //'

Esto solo eliminará la primera aparición de 'h' en la cadena.

Para eliminar todas las apariciones de 'h' de la cadena, use el siguiente comando:

$ echo "hola como estas?"| sed 's / h // g'

Dónde gramo representa global. Eliminará todas las apariciones de 'h' en la cadena.

Eliminar el primer carácter de la cadena

Para eliminar el primer carácter de la cadena "Hola como estas?" el comando sería:

$ echo "hola como estas?"| sed 's / ^.//' expediente

Dónde (.) coincide exactamente con un solo carácter y (^) coincide con cualquier carácter al principio de la cadena.

Eliminar el último carácter de la cadena

Para eliminar el último carácter de la cadena "Hola como estas?" el comando sería:

$ echo "hola como estas?"| sed 's /.PS

Dónde (.) coincide exactamente con un solo carácter y ($) coincide con cualquier carácter al final de la cadena.

Eliminar el primer y último carácter de la cadena

Para eliminar el primer y último carácter de la cadena "Hola como estas?" el comando sería:

$ echo "hola como estas?"| sed 's / ^.//;s/.PS

Eliminar caracteres de la cadena usando awk

Awk es un potente lenguaje de secuencias de comandos que se utiliza para la coincidencia de patrones, junto con el procesamiento de texto. Awk te permite filtrar y transformar texto de varias formas. También puede usar awk para eliminar caracteres de cadenas.

Para fines de demostración, usaremos una cadena de muestra y luego la canalizaremos al comando awk.

Eliminar el primer carácter de una cadena

Para eliminar el primer carácter de la cadena "Hola como estas?" el comando sería:

$ echo "hola como estas?"| awk 'print substr ($ 0, 2)'

Donde ($ 0) es la cadena de destino completa y (2) es la posición inicial del carácter. El comando anterior elimina el primer carácter, 'h,' número de carácter '1,' y devuelve la cadena de destino que comienza con el segundo carácter, 'e.'

Eliminar los dos primeros caracteres de la cadena

También puede eliminar un número específico de caracteres del principio de una cadena. Por ejemplo, para eliminar los dos primeros caracteres de la cadena "Hola como estas?" el comando sería:

$ echo "hola como estas?"| awk 'print substr ($ 0, 3)'

El comando anterior eliminará los dos primeros caracteres, 'él' o los números de carácter '1 y 2' y devuelve la cadena de destino que comienza con el número de carácter '3' o 'l.'

Eliminar el último carácter de la cadena

Para eliminar el último carácter de "Hola como estas?" el comando sería:

$ echo "hola como estas?"| awk 'print substr ($ 0, 1, length ($ 0) -1)'

Dónde longitud ($ 0) -1 significa deducir '1'de la longitud total de caracteres.

El comando anterior imprimirá la cadena que comienza con el número de carácter '1' hasta longitud ($ 0) -1 para quitar el último carácter.

Existen '19'caracteres (incluidos los espacios) en la cadena anterior. El comando funcionará imprimiendo todos los caracteres, comenzando con el carácter '1'y hasta el carácter'18,'mientras se quita el último carácter'19.'

Eliminar los dos últimos caracteres de la cadena

Para eliminar los dos últimos caracteres de "Hola como estas?”El comando sería:

$ echo "hola como estas?"| awk 'print substr ($ 0, 1, length ($ 0) -2)'

Dónde longitud ($ 0) -2 significa deducir '2'de la longitud total de caracteres.

El comando anterior imprimirá la cadena, comenzando con el número de carácter '1'y hasta el número de carácter'longitud ($ 0) -2,'para eliminar los dos últimos caracteres de la cadena.

Eliminar tanto el primer como el último carácter de la cadena

Para eliminar tanto el primer como el último carácter de la cadena "Hola como estas?" el comando sería:

$ echo "hola como estas?"| awk 'print substr ($ 0, 2, length ($ 0) - 2)'

Dónde longitud ($ 0) -2 significa deducir '2'de la longitud total de caracteres.

El comando anterior imprimirá la cadena, comenzando con el número de carácter '2'hasta el número de carácter'longitud ($ 0) -2,'para eliminar el primer y último carácter.

Quitar carácter de la cadena usando cortar

Cortar es una herramienta de línea de comandos que se usa comúnmente para extraer una porción de texto de una cadena o archivo e imprimir el resultado en una salida estándar. También puede utilizar este comando para eliminar caracteres de una cadena.

Para fines de demostración, usaremos una cadena de muestra y luego la canalizaremos al comando de corte.

Eliminar el primer carácter de la cadena

Para eliminar el primer carácter de la cadena, "Hola como estas?" el comando sería:

$ echo "hola como estas?"| cortar -c 2-

Este comando imprimirá la cadena, comenzando con el segundo carácter, mientras elimina el primer carácter.

Eliminar los primeros cuatro caracteres de la cadena

Para eliminar los primeros cuatro caracteres de la cadena "Hola como estas?" el comando sería:

$ echo "hola como estas?"| corte -c 5-

Este comando imprimirá la cadena, comenzando desde el quinto carácter, mientras elimina los primeros cuatro caracteres.

Imprimir cadena entre segundo y quinto caracteres

Para imprimir la cadena "Hola como estas?" entre el segundo y el quinto personaje, el comando sería:

$ echo "hola como estas?"| corte -c 2-5

Este comando imprimirá la cadena, comenzando desde el segundo carácter y hasta el quinto carácter, mientras elimina los caracteres iniciales y finales restantes.

Eliminar el último carácter de la cadena

Para eliminar el último carácter de la cadena "Hola como estas?" utilizar el cortar comando con Rvdo, como sigue:

$ echo "hola como estas?"| rev | cortar -c2- | rev

Este comando funciona invirtiendo primero la cadena, luego cortando el primer carácter y finalmente invirtiéndolo nuevamente para darle la salida deseada.

Eliminar los últimos cuatro caracteres de la cadena

Para eliminar los últimos cuatro caracteres de la línea "Hola como estas?" el comando sería:

$ echo "hola como estas?"| rev | cortar -c5- | rev

Este comando funciona invirtiendo primero la cadena, luego cortando los primeros cuatro caracteres y luego invirtiéndolos nuevamente para darle la salida deseada.

Eliminar el primer y último carácter de la cadena

Para eliminar el primer y último carácter de la cadena "Hola como estas?" utilizar el cortar comando con Rvdo, como sigue:

$ echo "hola mundo!"| cortar -c2- | rev | cortar -c2- | rev

Este comando funciona cortando el primer carácter, luego invirtiendo la cadena y cortando su primer carácter, y luego invirtiéndolo nuevamente para darle la salida deseada.

Quitar carácter de cadena usando tr

El comando tr (abreviatura de traducir) se usa para traducir, comprimir y eliminar caracteres de una cadena. También puede usar tr para eliminar caracteres de una cadena.

Para fines de demostración, usaremos una cadena de muestra y luego la canalizaremos al comando tr.

Eliminar todas las apariciones de personajes

Con el comando tr, puede eliminar todas las apariciones de caracteres en minúsculas o mayúsculas de su cadena. Por ejemplo, para eliminar todas las apariciones del carácter en minúscula 'h' de la cadena, el comando sería:

$ echo "Hola, ¿cómo estás??"| tr -d h

De manera similar, para eliminar todas las apariciones del carácter en mayúscula 'H' de la cadena, el comando sería:

$ echo "Hola, ¿cómo estás??"| tr -d H

También puede utilizar secuencias interpretadas para eliminar letras minúsculas o mayúsculas:

$ echo "Hola, ¿cómo estás??"| tr -d [: superior:]

$ echo "HOLA, ¿Cómo estás??"| tr -d [: inferior:]

Eliminar todas las apariciones de caracteres en minúsculas y mayúsculas

También puede eliminar todas las apariciones de caracteres tanto en minúsculas como en mayúsculas de una cadena. Por ejemplo, el siguiente comando eliminará todas las apariciones del carácter 'h', tanto en minúsculas como en mayúsculas.

$ echo "Hola, ¿cómo estás??"| tr -d 'hH'

Eliminar todas las apariciones de caracteres en un rango específico

Para eliminar todas las apariciones de caracteres de una cadena en el rango específico 'd-h', el comando sería:

$ echo "hola como estas?"| tr -d 'd-h'

Este comando eliminará todos los caracteres en el rango 'd-h' (d, e, f, g, h) en la cadena.

Conclusión

En Linux, siempre habrá más de una forma de realizar un trabajo sencillo. Lo mismo ocurre con la eliminación de caracteres de una cadena. Este artículo le mostró cuatro formas diferentes de hacerlo, junto con algunos ejemplos para eliminar caracteres no deseados de una cadena. Decidir qué herramienta usar depende de sus preferencias y, lo que es más importante, de lo que desea lograr.

Batalla por Wesnoth 1.13.6 Desarrollo liberado
Batalla por Wesnoth 1.13.6 lanzado el mes pasado, es el sexto lanzamiento de desarrollo en el 1.13.x y ofrece una serie de mejoras, sobre todo en la i...
Cómo instalar League Of Legends en Ubuntu 14.04
Si eres fanático de League of Legends, esta es una oportunidad para que pruebes League of Legends. Tenga en cuenta que LOL es compatible con PlayOnLin...
Instale el último juego de estrategia de OpenRA en Ubuntu Linux
OpenRA es un motor de juego de estrategia en tiempo real libre / gratuito que recrea los primeros juegos de Westwood como el clásico Command & Conquer...