Le 10/10/2017 à 08:57, Dominique Dumont a écrit :
On Monday, 9 October 2017 22:11:31 CEST Alexandre Hoïde wrote:
sed, peut-être… perso je ne vois pas, mais peut-être. Par contre, gawk ?
Pas d'idée pour sed non plus.
L'exemple avec awk m'a fait penser à une option peu connue de perl qui permet
de séparer un fichier en paragraphes ( -000) . Ce qui donne avec l'exemple de
fichier ldif donné par Alexandre:
$ perl -n -000 -e 'print if /sAMAccountName: smith/;' fichier.ldif
dn: CN=John Smith,OU=Users,DC=contoso,DC=com
proxyAddresses: SMTP:sm...@contoso.com
proxyAddresses: smtp:john.sm...@contoso.com
proxyAddresses: smtp:jsm...@elsewhere.com
proxyAddresses: MS:ORG/ORGEXCH/JOHNSMITH
sAMAccountName: smith
dn: CN=John Smith,OU=Users,DC=contoso,DC=com
proxyAddresses: SMTP:sm...@contoso.com
proxyAddresses: smtp:john.sm...@contoso.com
proxyAddresses: smtp:jsm...@elsewhere.com
proxyAddresses: MS:ORG/ORGEXCH/JOHNSMITH
sAMAccountName: smith
Merci, je vais tester ça pour voir si ça va bien mais ça semble pas mal. J'ai
un fichier texte de 150Mo à parser donc je choisirai l'option la plus rapide !
J'ai eu ceci également ($1 motif, $2 fichier ldif à parser:
#!/bin/bash
# Recherche d'un uid
sed -n "/^dn: uid=/{:a;N;/\n$/!ba;/$1/p}" $2