Si su grep no admite -P o --perl-regexp, y puede instalar grep habilitado para PCRE, por ejemplo, "pcregrep", entonces no necesitará ninguna opción de línea de comandos como GNU grep para aceptar Perl-compatible regular expresiones, solo corre
pcregrep "Ui\.(?!Line)"
No necesita otro grupo anidado para "Línea" como en su ejemplo "Ui. (?! (Línea))" - el grupo externo es suficiente, como lo he mostrado arriba.
Déjame darte otro ejemplo de aseveraciones negativas: cuando tienes una lista de líneas, devuelta por "ipset", cada línea muestra el número de paquetes en el medio de la línea, y no necesitas líneas con cero paquetes, simplemente correr:
ipset list | pcregrep "packets(?! 0 )"
Si le gustan las expresiones regulares compatibles con perl y tiene perl pero no tiene pcregrep o su grep no es compatible con --perl-regexp, puede usar scripts de perl de una línea que funcionen de la misma manera que grep:
perl -e "while (<>) {if (/Ui\.(?!Lines)/){print;};}"
Perl acepta stdin de la misma manera que grep, por ejemplo
ipset list | perl -e "while (<>) {if (/packets(?! 0 )/){print;};}"