tech:grep_avec_option_p_comme_aix_-_recuperer_un_paragraphe_complet
grep avec option p comme AIX - Récupérer un paragraphe complet
Source : https://www.vincentliefooghe.net/content/gnu-grep-recuperer-un-paragraphe-complet
Voir :
L'Unix d'IBM (AIX) propose une option intéressante pour la commande grep qui permet de récupérer un paragraphe complet, en précisant le séparateur de paragraphe :
grep -p "PATTERN" FILENAME
Par défaut, le séparateur est une ligne vide, mais on peut le préciser en l'ajoutant après l'option. Par exemple :
grep -p"separateur" "PATTERN" FILENAME
Sous Linux, le gnu grep ne propose pas cette option. Il reste cependant l'option awk ou perl. En utilisant awk, nous disposons de deux formulations différentes :
awk 'BEGIN{RS=ORS="\n\n";FS=OFS="\n"} /PATTERN/' FILENAMES
grepp(){ awk "BEGIN{RS=ORS=\"\n\n\";FS=OFS=\"\n\"} /$1/" "$2" }
ou
awk -v RS="" -v ORS="\n\n" '/PATTERN/' FILENAMES
Par exemple, pour rechercher un groupe LDAP dans un fichier LDIF :
awk 'BEGIN{RS=ORS="\n\n";FS=OFS="\n"} /dn: cn=AdminUsers,ou=groups,dc=example,dc=com/' Export-Full.ldif
ou avec l'autre option :
time awk -v RS="" -v ORS="\n\n" '/cn=AdminUsers,ou=groups,dc=example,dc=com/' Export-Full.ldif
tech/grep_avec_option_p_comme_aix_-_recuperer_un_paragraphe_complet.txt · Dernière modification : de Jean-Baptiste
