Le titre le plus convulatoire du monde que je connaisse, un exemple devrait l'expliquer mieux. J'ai un gros fichier txt dans le format ci-dessous, bien que les détails et le montant des lignes changeront chaque fois:Regex pour trouver un mot, puis extraire une ligne contenant la première occurrence d'un mot différent immédiatement avant le mot d'origine?
Username: john_joe Owner: John Joe
Account:
CLI:
Default:
LGICMD:
Flags:
Primary days:
Secondary days:
No access restrictions
Expiration:
Pwdlifetime:
Last Login:
Maxjobs:
Maxacctjobs:
Maxdetach:
Prclm:
Prio:
Queprio:
CPU:
Authorized Privileges:
BYPASS
Default Privileges:
SYSPRV
Cette séquence est répétée deux mille fois pour les utilisateurs différents. J'ai besoin de trouver chaque utilisateur (idéalement toute la première ligne de ce qui précède) qui a SYSPRV sous "Autorisations par défaut". Je sais que je pourrais écrire une application pour faire ceci, j'espérais juste que leur pourrait être une bonne regex que je pourrais utiliser.
Vive
Le début de chaque enregistrement marqué d'une ligne "Nom d'utilisateur:"? Sinon, y a-t-il un autre moyen de distinguer les limites des enregistrements? – msw
Quelle langue ou saveur regex utilisez-vous? Quelle est la taille du fichier et comment le lisez-vous? Avez-vous tout slurp en mémoire à la fois? –