Obtener la longitud de la cadena en Bash

Numan Shafi 20 junio 2023
  1. Longitud de cadena y notaciones básicas
  2. Use el operador # para calcular la longitud de la cadena en Bash
  3. Use el comando expr para calcular la longitud de la cadena en Bash
  4. Use el comando awk para calcular la longitud de la cadena en Bash
  5. Use el comando wc para calcular la longitud de la cadena en Bash
  6. Calcular la longitud de caracteres de un archivo
Obtener la longitud de la cadena en Bash

En los lenguajes de programación, la longitud o tamaño del tipo de datos juega un papel importante. Ayuda en los cruces de listas y facilita la extracción de información útil.

La longitud es particularmente importante para realizar tareas que requieren atravesar toda la cadena. Por lo tanto, teniendo en cuenta la importancia de la longitud o el tamaño de cualquier tipo de datos, aprenderemos diferentes formas de calcular la longitud de la cadena.

Longitud de cadena y notaciones básicas

Una cadena es la secuencia de los diferentes char, que pueden incluir los espacios. En Bash, la longitud de la cadena es el número total de caracteres en esa cadena.

Por ejemplo, la cadena "Hello World" contiene diez char y un espacio. Por lo tanto, su longitud es de once.

La mayoría de los lenguajes de secuencias de comandos y programación tienen funciones integradas o de biblioteca para encontrar la longitud de la cadena. Del mismo modo, hay muchas formas de manipular los comandos de Bash para calcular la longitud de la cadena en Bash.

Use el operador # para calcular la longitud de la cadena en Bash

Podemos usar el operador # para calcular la longitud de la cadena. El siguiente código muestra la sintaxis para obtener la longitud de una cadena usando el operador #.

${#your_var}

Primero, envolvimos la variable que contiene la cadena con corchetes y antecedemos al operador # con la variable.

El operador # juega un papel esencial en la impresión de la longitud de la cadena. Si no se usa #, el código imprimirá la cadena completa, por lo que es esencial agregarlo a la variable.

Además, el signo $ exterior tratará la longitud de la cadena como una variable y la imprimirá en la pantalla usando el comando echo. El siguiente código muestra el cálculo de la longitud de la cadena usando el #.

var="hello world"
echo ${var}
echo ${#var}

longitud de cadena usando hash

En la línea #1, creamos la variable llamada var. La variable var puede contener cualquier cadena del terminal o del archivo.

La segunda línea imprime la cadena completa usando el $ y corchetes. En la última línea, usamos el símbolo # con la variable y obtuvimos la longitud de la cadena impresa en la consola de comandos.

Use el comando expr para calcular la longitud de la cadena en Bash

Aquí, exploraremos cómo calcular la longitud de la cadena usando el comando expr. El siguiente código muestra la sintaxis básica para usar el comando expr.

`expr "$var1" : "$var2"`

El comando expr toma dos parámetros: antes y después del operador de comparación :. El operador de comparación compara dos cadenas de caracteres comunes y devuelve el número de caracteres similares.

En var1, damos la cadena cuya longitud se necesita calcular. El var2 contiene una expresión regular que analiza la cadena una por una, y el operador de comparación puede calcular el recuento de cada char similar.

El código siguiente muestra un ejemplo.

var="hello world"
echo `expr "$var" : ".*"`

longitud usando exp

En el código anterior, asignamos la cadena "hello world" a la variable var. El .* analizará todos los caracteres del token anterior (es decir, el valor de var).

Por tanto, al tener dos operandos iguales, el operador de comparación devuelve el recuento total de chars en el primer operando.

Use el comando awk para calcular la longitud de la cadena en Bash

Calculemos la longitud de la cadena usando el comando awk. El comando awk es un lenguaje de secuencias de comandos utilizado para la manipulación de datos y la generación de informes.

El siguiente código demuestra el cálculo de la longitud de la cadena usando el comando awk.

var="hello world"
n1=`echo $var |awk '{print length}'`
echo $n1

En el código anterior, hemos utilizado el atributo integrado de los comandos awk y print.

El comando awk toma la entrada de la cadena de la variable var usando la tubería. La tubería envía la salida del comando a la entrada después de la tubería.

La línea #3 imprime la longitud de la cadena como confirmación.

Use el comando wc para calcular la longitud de la cadena en Bash

Ahora exploraremos el cálculo de la longitud de la cadena usando el comando wc. Solo pasamos la cadena al wc usando la tubería con la bandera -c o -m, y obtendremos la salida requerida (es decir, la longitud de la cadena).

Los siguientes comandos de Bash muestran la longitud de la cadena usando el comando wc.

echo -n "$var" | wc -c

O:

echo -n "$var" | wc -m

El código anterior muestra el cálculo de la longitud de la cadena usando dos banderas diferentes del comando wc.

Si usamos solo el comando wc, da más información que la longitud de la cadena, que no es necesaria. Entonces, mencionar la bandera después del comando wc es inevitable.

Podemos usar ambas banderas, -c o -m. Ambos devuelven la misma salida.

El siguiente fragmento muestra el resultado del código wc descrito anteriormente.

longitud usando el wc

Calcular la longitud de caracteres de un archivo

Ahora exploraremos cómo calcular la longitud de la cadena del archivo. Crearemos el archivo con el nombre abc.txt y escribiremos un texto.

Luego leeremos e imprimiremos la longitud de la cadena del archivo.

El siguiente código muestra el cálculo de la longitud de la cadena del archivo.

touch abc.txt
echo "hello world">> abc.txt
cat abc.txt | wc -c

El toque crea un nuevo archivo, abc.txt, en el que escribimos una cadena hola mundo usando una redirección de E/S simple. El comando gato en la tercera línea muestra el contenido de abc.txt.

Sin embargo, la tubería | convierte la salida de la entrada del comando cat en el comando wc. Por lo tanto, el wc contará palabras en esta salida.

Artículo relacionado - Bash String