Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: minette1988 en 13 Mayo 2010, 12:42 pm



Título: contar caracteres
Publicado por: minette1988 en 13 Mayo 2010, 12:42 pm
Hola, esta tarde tengo examen y tengo este script que cuenta los caracteres de una cadena pasada como parámetro, pero me da este error: wc: pepe: No existe el fichero ó directorio
pepe tiene caracteres
Código
  1. #!/bin/bash
  2.  
  3. if [ -n $1 ]
  4. then
  5.    num_carac= `wc -c $1`
  6.    echo $1 "tiene" $num_carac "caracteres"
  7. else
  8.    echo "Error no se ha introducido ningún parámetro"
  9. fi


Título: Re: contar caracteres
Publicado por: biribau en 13 Mayo 2010, 16:23 pm
Código
  1.    num_carac= `wc -c $1`
  2.  
No puede haber espacios en asignaciones a variables entre el =
Código:
A="hola"
bien
Código:
A= "hola"
mal
El error no parece tener que ver con eso, pero ten en cuenta eso


Título: Re: contar caracteres
Publicado por: cgvwzq en 13 Mayo 2010, 21:29 pm
Código
  1. num_carac=`echo $1 | wc -c`

Ten en cuenta que te contará el salto de linea, así que resta uno.


Título: Re: contar caracteres
Publicado por: leogtz en 13 Mayo 2010, 23:31 pm
Código:
echo -e "Leo" | tr -d '\n' | wc -c

Código:
#!/usr/bin/bash
name="Leo"
echo -e "`expr length $name`";

Código:
#!/usr/bin/bash
name="Leo";
echo -e "${#name}";

Código:
echo -e "Hola" | perl -ne 'print length($_) - 1, "\n"'

Etc, etc