GNU/Linux >> Tutoriels Linux >  >> Linux

grep :capture de groupe

Cela pourrait fonctionner pour vous :

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

Désolé, ce n'est pas grep , alors ignorez cette solution si vous le souhaitez.

Ou restez avec grep et ajoutez :

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

Vous devrez utiliser une assertion derrière pour qu'elle ne soit pas incluse dans la correspondance :

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


Linux
  1. Grep :Mémoire épuisée ?

  2. Grep -v Comportement inattendu ?

  3. Vérifier qu'un script est en cours d'exécution ?

  4. Couper / Grep Et Df -h ?

  5. Capturer des groupes avec Awk ou Grep ?

Grep Regex :un guide complet

Comment exclure dans Grep

Expressions régulières dans Grep (Regex)

Commande Grep sous Linux/UNIX

Comment grep \n dans le fichier

Utiliser grep contre awk