Você é grep
ping para um caractere alnum seguido por um estrondo. Experimente o padrão ^[[:alnum:]]{10}!
.
Como o título diz, estou tentando obter as linhas de e-mails retidos com grep ou egrep que contêm um ponto de exclamação / bang
root@server:~# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
0528561D88 878 Wed Feb 1 21:46:12 [email protected]
[email protected]
0D14161E2B 657 Wed Feb x xx:47:01 [email protected]
[email protected]
0798C61E0F 657 Wed Feb x xx:45:02 [email protected]
[email protected]
14AF361E2F! 657 Wed Feb x xx:48:01 [email protected]
[email protected]
próximo
root@server:~# mailq |grep "[[:alnum:]]\!"
3658861E66! 657 Wed Feb x xx:48:01 [email protected]
root@server:~# mailq |grep "^[[:alnum:]]\!"
root@server:~#
O primeiro trabalho grep fornece o resultado esperado, mas o segundo não funciona de todo
Alguma opinião?
A segunda expressão regular, ^[[:alnum:]]!
, corresponde a um único caractere alfanumérico no início da linha, seguido por um ponto de exclamação.
Por exemplo
3!
A!
c!
Mas não
14AF361E2F!
(dez caracteres alfanuméricos e !
)
Para corresponder exatamente a dez caracteres e !
, use
$ mailq | grep -E '^[[:alnum:]]{10}!'
Tags bash grep shell regular-expression