Eliminar el primer carácter de la cadena en Bash

Olorunfemi Akinlua 20 junio 2023
  1. Use el comando sed para eliminar el primer carácter de la cadena en Bash
  2. Use el comando cortar para eliminar el primer carácter de la cadena en Bash
  3. Use el parámetro subcadena para eliminar el primer carácter de la cadena en Bash
Eliminar el primer carácter de la cadena en Bash

Eliminar el primer carácter de una cadena en Bash puede ser complicado, ya que no hay una función integrada que pueda hacerlo directamente. Sin embargo, hay varias formas de lograr esto, como usar el comando sed, el comando cut o la expansión del parámetro substring.

Esta publicación revisará cómo usar cada enfoque para eliminar el carácter inicial de una cadena en Bash.

Use el comando sed para eliminar el primer carácter de la cadena en Bash

En Bash, puede eliminar el carácter inicial de una cadena usando el comando sed, y podemos usar el comando s (sustituir) con la expresión regular ^ (comienzo de línea). El comando s nos permite buscar un patrón en una cadena e intercambiar esa cadena por otra cadena, mientras que la expresión regular ^ coincide con el comienzo de la línea.

Por ejemplo, digamos que tenemos una cadena llamada mi_cadena que contiene la palabra Bienvenido, y queremos eliminar el primer carácter (la letra W). Podemos usar el comando sed para lograr esto:

my_string="Welcome"

new_string=$(echo "$my_string" | sed 's/^.//')

echo "The modified string is: $new_string"

Producción :

The modified string is: elcome

En el código anterior, usamos el comando sed para buscar el patrón ^. en la variable mi_cadena y reemplácela con una cadena vacía. El carácter ^ coincide con el inicio de la línea, mientras que el . carácter coincide con cualquier carácter individual.

El comando sed eliminará el primer carácter de la cadena, la letra W.

La salida del comando sed se almacena en la variable new_string, y usamos el comando echo para imprimir la cadena modificada. La salida del código debería ser La cadena modificada es: bienvenido.

Use el comando cortar para eliminar el primer carácter de la cadena en Bash

Otro método de Bash para eliminar el primer carácter de una cadena es usar el comando cortar, que nos permite extraer un número específico de caracteres de una cadena. El comando cortar toma una cadena como entrada y genera solo los caracteres especificados.

Para eliminar el primer carácter de una cadena usando el comando cortar, podemos usar la opción -c para especificar las posiciones de los caracteres a extraer. Por ejemplo, digamos que tenemos la misma variable mi_cadena que contiene la palabra “Hola”, y queremos eliminar el primer carácter (la letra “H”). Podemos usar el comando cortar para lograr esto:

my_string="Hello"

new_string=$(echo "$my_string" | cut -c 2-)

echo "The modified string is: $new_string"

Producción :

The modified string is: ello

En el código anterior, usamos el comando cortar con la opción -c para extraer los caracteres desde la segunda posición (2) hasta el final de la cadena (-). Esto significa que el comando cortar eliminará el primer carácter de la cadena, que en este caso es la letra “H”.

La salida del comando cortar se almacena en la variable nueva_cadena, y usamos el comando echo para imprimir la cadena modificada. La salida del código debe ser “La cadena modificada es: ello”.

Use el parámetro subcadena para eliminar el primer carácter de la cadena en Bash

Finalmente, podemos eliminar el primer carácter de una cadena en Bash usando la expansión del parámetro subcadena. Esta sintaxis especial nos permite realizar operaciones de manipulación de cadenas en variables directamente en el script Bash sin usar comandos externos como sed o cut.

Para eliminar el primer carácter de una cadena utilizando la expansión del parámetro subcadena, podemos usar la sintaxis ${cadena:posición}, donde cadena es la variable que contiene la cadena y posición es la posición inicial de la subcadena que se va a extraer. Por ejemplo, digamos que tenemos la misma variable mi_cadena que contiene la palabra Hola, y queremos eliminar el primer carácter (la letra H). Podemos usar la expansión del parámetro subcadena para lograr esto:

my_string="Hello"

new_string=${my_string:1}

echo "The modified string is: $new_string"

Producción :

The modified string is: ello

En el código anterior, usamos la sintaxis ${my_string:1} para extraer la subcadena a partir de la segunda posición (1) de la variable my_string. El primer carácter (la letra H) se eliminará de la cadena.

La salida de expansión del parámetro substring se almacena en la variable new_string, y usamos el comando echo para imprimir la cadena modificada. La salida del código debe ser La cadena modificada es: ello.

En conclusión, hay varias formas de eliminar el primer carácter de una cadena en Bash, como usar el comando sed, el comando cut o la expansión del parámetro substring. Cada uno de estos métodos tiene sus ventajas y desventajas, y la mejor opción será

Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn

Artículo relacionado - Bash String