En este artículo, veremos cómo contar la cantidad de palabras, caracteres, espacios en blanco y símbolos especiales en un archivo de texto/string de entrada. Dado un archivo de texto y la tarea del recorrido es contar el número de palabras, caracteres, espacios en blanco y símbolos especiales. Entonces, hay muchos métodos y herramientas que podemos usar para realizar nuestra tarea. Para una mejor comprensión pongamos un ejemplo:
Example: Input text: GeeksforGeeks are best! Output : Number of Words = 3 Number of Characters = 24 Number of White Spaces =2 Number of Special Symbols = 2 Explanation: words are { "GeeksforGeeks", "are", "best!!"} Characters include number of white spaces(Space),special symbols and letter. White Spaces are just spaces {' ',' '} And Special Symbol are {'!','!'}
Acercarse:
Usando el comando wc . El comando wc se utiliza para conocer el número de líneas, el número de palabras, el número de bytes y caracteres, etc.
- Cuente el número de palabras usando wc -w . Aquí, “-w” indica que estamos contando palabras.
- Cuente el número de caracteres usando wc -c. Aquí, «-c» indica que estamos contando cada carácter, incluidos los espacios en blanco.
- Cuente el número de espacios en blanco en una string usando la siguiente sintaxis:
Sintaxis: expr longitud “$texto” – longitud `echo “$texto” | sed “s/ //g”`
El comando Sed se usa para manipular texto, significa editor de flujo. Aquí, estamos usando sed para encontrar los espacios en blanco usando sed “s/replace this with the whitespace//g” . En esta sintaxis , sed s se refiere a sustituto y g como globalismo y esta sintaxis buscará y reemplazará todos los espacios en blanco en todo el texto.
Cuente todos los caracteres especiales usando la siguiente expresión regular.
Sintaxis: longitud de expresión “${texto//[^\~!@#$&*()]/}”
Guión de concha:
#! /bin/bash echo "Enter a String" # Taking input from user read text # Counting words word=$(echo -n "$text" | wc -w) # Counting characters char=$(echo -n "$text" | wc -c) # Counting Number of white spaces (Here,specificly " ") # sed "s/ change this to whitespace//g" space=$(expr length "$text" - length `echo "$text" | sed "s/ //g"`) # Counting special characters special=$(expr length "${text//[^\~!@#$&*()]/}") # Output echo "Number of Words = $word" echo "Number of Characters = $char" echo "Number of White Spaces = $space" echo "Number of Special symbols = $special"
Producción:
Publicación traducida automáticamente
Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA