Manipulación de strings en secuencias de comandos de Shell

La manipulación de strings se define como la realización de varias operaciones en una string que da como resultado un cambio en su contenido. En Shell Scripting, esto se puede hacer de dos maneras: manipulación de strings bash pura y manipulación de strings a través de comandos externos. 

Conceptos básicos de la manipulación pura de strings bash:

1. Asignar contenido a una variable e imprimir su contenido: En bash, ‘ $ ‘ seguido del nombre de la variable se usa para imprimir el contenido de la variable. Shell expande internamente la variable con su valor. Esta característica del shell también se conoce como expansión de parámetros . Shell no se preocupa por el tipo de variables y puede almacenar strings, enteros o números reales.
Sintaxis:

VariableName='value'
echo $VariableName
or
VariableName="value"
echo ${VariableName}
or
VariableName=value
echo "$VariableName"

Nota : No debe haber ningún espacio alrededor del signo “ = ” en la asignación de variables. Cuando usa VariableName=value , el shell trata el » = » como un operador de asignación y asigna el valor a la variable. Cuando usa VariableName = value , el shell asume que VariableName es el nombre de un comando e intenta ejecutarlo.

Ejemplo:

 Assigning content to a variable and printing its content

2. Para imprimir la longitud de la string dentro de Bash Shell: el símbolo ‘ # ‘ se usa para imprimir la longitud de una string.

Sintaxis:

variableName=value
echo ${#variablename}

Ejemplo:

To print length of string inside Bash Shell

3. Concatenar strings dentro de Bash Shell usando variables: en bash, enumerar las strings juntas concatena la string. La string resultante así formada es una nueva string que contiene todas las strings enumeradas.

Sintaxis:

var=${var1}${var2}${var3}
or
var=$var1$var2$var3
or
var="$var1""$var2""$var3"

Para concatenar cualquier carácter entre las strings:

The following will insert "**" between the strings
var=${var1}**${var2}**${var3}
or
var=$var1**$var2**$var3
or
var="$var1"**"$var2"**"$var3"

The following concatenate the strings using space:
var=${var1} ${var2} ${var3}
or
var="$var1" "$var2" "$var3"
or
echo ${var1} ${var2} ${var3}

Nota: al concatenar strings a través del espacio, evite usar var=$var1 $var2 $var3 . Aquí, el shell asume $var2 y $var3 como comandos e intenta ejecutarlos, lo que genera un error.

Ejemplo:

Concatenate strings inside Bash Shell using variables

4. Concatenar strings dentro de Bash Shell usando una array: en bash, las arrays también se pueden usar para concatenar strings. 

Sintaxis:

To create an array:
arr=("value1" value2 $value3)

To print an array:
echo ${arr[@]}

To print length of an array:
echo ${#arr[@]}

Using indices (index starts from 0):
echo ${arr[index]}

Note: echo ${arr} is the same as echo ${arr[0]}

Ejemplo:

Concatenate strings inside Bash Shell using an array

5. Extraiga una substring de una string: en Bash, se puede extraer una substring de caracteres de una string.

Sintaxis:

${string:position}  --> returns a substring starting from $position till end
${string:position:length} --> returns a substring of $length characters starting from $position.

Nota: $longitud y $posición deben ser siempre mayores o iguales a cero. 

Si la posición $ es menor que 0, imprimirá la string completa.

Si la longitud de $es menor que 0, generará un error y no se ejecutará.

Ejemplo:

Extract a substring from a string

6. Coincidencia de substring: en Bash, la coincidencia más corta y más larga posible de una substring se puede encontrar y eliminar desde el frente o la parte posterior.

Sintaxis:

To delete the shortest substring match from front of $string:
${string#substring}

To delete the shortest substring match from back of $string:
${string%substring}

To delete the longest substring match from front of $string:
${string##substring}

To delete the shortest substring match from back of $string of $string:
${string%%substring}

Ejemplo:

substring matching

En el ejemplo anterior: 

  • La primera substring de declaración de eco ‘ *. ‘ coincide con los caracteres que terminan con un punto, y # elimina la coincidencia más corta de la substring del principio de la string, por lo que elimina la substring ‘ Bienvenido. ‘.
  • La segunda substring de declaración de eco ‘ .* ‘ coincide con la substring que comienza con un punto y termina con caracteres, y % elimina la coincidencia más corta de la substring de la parte posterior de la string, por lo que elimina la substring ‘ .GeeksForGeeks
  • La tercera substring de declaración de eco ‘ *. ‘ coincide con los caracteres que terminan con un punto, y ## elimina la coincidencia más larga de la substring del principio de la string, por lo que elimina la substring ‘ Welcome.to.
  • La cuarta substring de declaración de eco ‘ .* ‘ coincide con la substring que comienza con un punto y termina con caracteres, y %% elimina la coincidencia más larga de la substring de la parte posterior de la string, por lo que elimina la substring ‘ .to.GeeksForGeeks ‘.

Publicación traducida automáticamente

Artículo escrito por yashbeersingh42 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *