Bash:
Calculando la longitud de una cadena
Cómo hacerlo:
cadena="Hola, ¿cómo estás?"
longitud=${#cadena}
echo $longitud
Salida:
19
Para longitudes en un bucle:
nombres=("Alicia" "Bruno" "Carlos")
for nombre in "${nombres[@]}"; do
echo "${nombre} tiene ${#nombre} caracteres."
done
Salida:
Alicia tiene 6 caracteres.
Bruno tiene 5 caracteres.
Carlos tiene 6 caracteres.
Profundización
Contexto Histórico
En los primeros días de la informática, la gestión eficiente del texto era crucial debido a la memoria limitada. Encontrar la longitud de una cadena era (y sigue siendo) una operación fundamental.
Alternativas
En Bash, ${#cadena}
es la forma directa de obtener la longitud. Pero hay métodos alternativos, como usar expr
, awk
, o un bucle para contar los caracteres.
Detalles de Implementación
${#cadena}
cuenta los caracteres Unicode correctamente, incluso si la cadena contiene caracteres especiales o acentuados. Con idiomas y juegos de caracteres complejos, esto es vital para una correcta manipulación de strings.
Véase También
- Bash String Manipulation Guide
- Advanced Bash-Scripting Guide
- Ejemplos prácticos y explicaciones adicionales en stackoverflow en español