Q:

Calcular porcentaje de un total

Tengo un fichero con dos strings (OK y KO) y necesitaría sacar el porcentaje de los OK.
Es posible sacar el porcentaje respecto el numero total con algún comando?
Estos son los valores que tengo actualmente:
cat CHECK_URL.log | grep OK | wc -l
4329

cat CHECK_URL.log | grep KO | wc -l
43

cat CHECK_URL.log | wc -l
4372

Añado tambien los datos de CHECK_URL.log
07092019094301 OK https://www.google.es
07092019094301 OK https://www.google.com
07092019094402 OK https://www.google.es
07092019094402 OK https://www.google.com
07092019094501 OK https://www.google.es
07092019094501 OK https://www.google.com

Es decir, con los datos que ahora mismo tengo, si tuviera un valor de 4372 seria un 100%
Gracias!

A:

Una forma sencilla es usar awk para contar cada valor buscado y por último calcular el porcentaje. La idea sería así:
awk '$2 ~ /OK/{ok = ok+1}$2 ~ /KO/{ko = ko+1}END{printf("Ok   : %d\nKo   : %d\nPorc: %d%%\n",ok, ko, (ok/(ok+ko))*100)}' CHECK_URL.log

Básicamente con cada ocurrencia de OK y  KO en la segunda columna, incrementamos un contador, al finalizar la lectura (END{}) simplemente imprimimos el resultado:

