GNU/Linux >> Tutoriales Linux >  >> Linux

grep:captura de grupo

Esto podría funcionar para usted:

echo '{"_id":"scheme_version","_rev":"4-cad1842a7646b4497066e09c3788e724","scheme_version":1234}' |
sed -n 's/.*"scheme_version":\([^}]*\)}/\1/p'
1234

Lo siento, no es grep , así que ignore esta solución si lo desea.

O quédese con grep y agregue:

grep -Eo "\"scheme_version\":(\w*)"| cut -d: -f2

Tendrá que usar una aserción de búsqueda para que no se incluya en la coincidencia:

grep -Po '(?<=scheme_version":)[0-9]+'


Linux
  1. Grep:¿Memoria agotada?

  2. Grep -v ¿Comportamiento inesperado?

  3. ¿Comprobar que se está ejecutando un script?

  4. Corte/Grep Y Df -h?

  5. ¿Capturar grupos con Awk o Grep?

Grep Regex:una guía completa

Cómo excluir en Grep

Expresiones regulares en Grep (Regex)

Listar miembros de un grupo en Linux

Comando Grep en Linux/UNIX

Usando grep vs awk