Índice

Sustitución de variables

ksh  

bash  

La sustitución de variables ha sido tratada en el capítulo Las bases de la programación shell - Las variables de usuario. Esta sección presenta nuevas funcionalidades disponibles en los shells bash y ksh.

1. Longitud del valor contenido en una variable

Sintaxis

${#variable}

Ejemplo

$ var="mi cadena"  
$ echo ${#var}  
9 
$

2. Manipulación de cadenas de caracteres

Las funcionalidades que se presentan a continuación permiten manipular el valor contenido en una variable.

El contenido de la variable nunca se modifica.

a. Eliminar el fragmento más pequeño de la izquierda

Sintaxis

${variable#patrón}

donde patrón es una cadena de caracteres que puede incluir los caracteres especiales *, ?, [], ?(expresión), +(expresión), *(expresión), @(expresión), !(expresión) (ver capítulo Mecanismos esenciales del shell - Sustitución de nombres de archivos).

El carácter # significa "Cadena lo más corta posible empezando por la izquierda".

Ejemplo

Mostrar la variable linea sin su primer campo:

$ linea=”campo1:campo2:campo3”  
$ echo ${linea#*:}  
campo2:campo3

b. Eliminar el fragmento más grande de la izquierda

Sintaxis

${variable##patrón}

Los caracteres ## significan "Cadena lo más larga posible empezando por la izquierda".

Ejemplo

Mostrar el último campo de la variable linea:

$ linea=”campo1:campo2:campo3” ...