grep -P (version récente).
Autre ressource intéressante sur les regex look ahead/behind :
http://carijansen.com/2013/03/03/positive-lookahead-grep-for-designers/
Exemple concret :
On a un fichier contenant des lignes de la forme :
« blablablabla blablablabla id=666 blabla
blablablabla blablablabla id=42 blabla »
On veut extraire les ID et les trier par ordre croissant afin de récupérer l'ID le plus élevé (qui n'est donc pas forcément à la dernière ligne du fichier).
Sans ces regex, on ferait : grep -oE "id=[0-9]+" <fichier> | grep -oE "[0-9]+$" | sort -g | tail -n1
Avec une regex look-behind : grep -Po "(?<=id=)[0-9]+" <fichier> | sort -g | tail -n1