Newline
Se você estiver usando o bash, você pode escrever $'\n'
. Isso é expandido pelo shell, não pelo programa, por isso é mais confiável do que outras opções.
Se você estiver usando o traço (por exemplo, dentro de um script de shell), você sempre poderá usar uma nova linha com aspas literais:
'
'
Não é elegante, mas funciona.
Lookahead
Você terá que usar expressões regulares compatíveis com Perl ( -P
), já que as expressões regulares estendidas não suportam verificações antecipadas.
Muitas vezes, é suficiente para imitar as verificações negativas.
O uso da opção -v
do grep geralmente faz isso:
grep -E 'PATTERN' | grep -vE 'PATTERNtimeout'
é equivalente a
grep -P 'PATTERN(?!timeout)'
Para imitar (?!timeout)
dentro de outra expressão, você pode usar essa subexpressão:
(($|[^t])|t($|[^i])|ti($|[^m])|tim($|[^e])|time($|[^o])|timeo($|[^u])|timeou($|[^t]))
-
($|[^t])
string termina aqui ou o primeiro caractere não é t . -
t($|[^i])
string termina após t ou o segundo caractere não é i . -
ti($|[^m])
string termina após ti ou o terceiro caractere não é tim . - ...
Se qualquer uma das correspondências acima, a string não for tempo limite .