Shell Script para contar el número de palabras, caracteres, espacios en blanco y símbolos especiales

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:

https://media.geeksforgeeks.org/wp-content/uploads/20210406211936/Screenshotfrom20210406211913-300x107.png

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *