grep en Bash
Buscar, contar e invertir con expresiones regulares extendidas.
log='GET /api 200
POST /login 401
GET /docs 200
POST /api 500'
# -E es regex extendida; -c cuenta; -v invierte
echo "$log" | grep -E '^(GET|POST) /api'
echo "errors: $(echo "$log" | grep -cE ' [45][0-9]{2}$')"
echo "$log" | grep -v 200
# -o imprime solo la coincidencia misma
echo "$log" | grep -oE '[0-9]{3}$' | sort -u
Cómo funciona
-Ehabilita la alternación(GET|POST)y los conteos{3}.-ccuenta líneas coincidentes;-vinvierte la coincidencia.-oimprime solo el texto que coincidió.
Palabras clave y builtins usados aquí
echo
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 322
- Tokens
- 49
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 39 segundos.
Paso 1 de 3 en Herramientas de texto; paso 19 de 26 en Fundamentos del lenguaje.