Linux - Encontrar ciertos caracteres en una cadena

 
Vista:
sin imagen de perfil

Encontrar ciertos caracteres en una cadena

Publicado por karrax (2 intervenciones) el 01/05/2015 16:07:57
Tengo una gran duda, quiero saber como se peude conseguir la cantidad de un tipo de caracter en una cadena mediante el terminal de linux o en su caso mediante script bash.

Por ejemplo, tenemos el siguiente texto: 75489754386 y quiero saber cuantos '7' hay. Esto es en este caso la solucion o lo que nos devolveria seria un 2.

Existe algun comando o lgun tipo de conbinacion mediante | que se pueda utilizar??

Muchisimas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 311
Oro
Ha mantenido su posición en Linux (en relación al último mes)
Gráfica de Linux

Encontrar ciertos caracteres en una cadena

Publicado por xve (837 intervenciones) el 01/05/2015 21:03:10
Hola Karra, seria algo así:

1
$ echo "75489754386" | tr -dc "7" | wc -c
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Encontrar ciertos caracteres en una cadena

Publicado por karrax (2 intervenciones) el 02/05/2015 00:10:52
Muchisimas gracias, pero la cosa es que necesito tambien para dos caracteres, por ejemplo que me busque el '71', y lo que hace es darte las cantidades sumadas del 7 y el 1.

Alguna idea??

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 311
Oro
Ha mantenido su posición en Linux (en relación al último mes)
Gráfica de Linux

Encontrar ciertos caracteres en una cadena

Publicado por xve (837 intervenciones) el 02/05/2015 15:02:30
Hola Karrax, podrias hacerlo sumando la consulta del 7 y la del 1... algo así:

1
expr $(echo "75489754386" | tr -dc "7" | wc -c) + $(echo "75489754386" | tr -dc "1" | wc -c)

En este caso, da el mismo resultado, ya que no hay ningún uno!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar