varias - ¿Cómo puedo usar el shell de UNIX para contar la cantidad de veces que aparece una letra en un archivo de texto?
grep varios patrones (10)
Alternativa a grep:
sed ''s/[^x]//g'' filename | tr -d ''/012'' | wc -c
donde x
es el personaje que quieres contar.
Tengo algunos archivos de texto y me gustaría contar cuántas veces aparece una letra en cada uno.
Específicamente, me gustaría usar el shell UNIX para hacer esto, en la forma de: archivo cat | .... hacer cosas...
¿Hay alguna manera de que pueda obtener el comando wc para hacer esto?
Aquí hay otra manera
cat input_file | /
awk ''BEGIN {FS="x"; var=0 } /
{if (NF>0){ var=var + (NF-1) } } /
END{print var}''
donde X es el caracter o cadena de caracteres que desea contar e infilar es el archivo de entrada
En este caso, estoy contando el personaje "|":
expr `wc -c < filename` /- `tr -d /| < filename | wc -c`
Otra alternativa:
tr -d -C X <infile | wc -c
donde X es el caracter o cadena de caracteres que desea contar e infilar es el archivo de entrada.
Pruébalo con
grep [PATTERN] -o [FILE] | wc -l
y por favor no use cat si no es necesario.
Puedes intentar fácilmente: grep -c ''YOUR LETTER'' YOUR FILE
También hay awk:
$ echo -e "hello world/nbye all" | awk -Fl ''{c += NF - 1} END {print c}''
5
Cambia -Fl
a -F<your character>
.
Esto funciona estableciendo el delimitador de campo en el carácter especificado por -F
, luego acumulando el número de campos en cada línea - 1 (porque si hay un delimitador, hay dos campos, pero solo deberíamos contar 1).
eco "a / b / c / d / e / f / g" | awk -F "/" ''{print NF}''
esto dará el número de ocurrencia del carácter "/"
awk ''{ printf "%s/n", gsub( "ur_char", "oth_char", $0 ) }'' < your_file_name > output.txt
puede agregar el conteo del número de línea actual para obtener los números de línea en awk también.
grep char -o filename | wc -l