Bash
grep 或 egrep 與包含 a? 的 mailq 的結果不正確匹配?
我正在嘗試使用 grep 或 egrep 獲取包含驚嘆號 / bang 的保留電子郵件行
root@server:~# mailq -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- 0528561D88 878 Wed Feb 1 21:46:12 root@example.com root@example2.com 0D14161E2B 657 Wed Feb x xx:47:01 root@example.com root@example2.com 0798C61E0F 657 Wed Feb x xx:45:02 root@example.com root@example2.com 14AF361E2F! 657 Wed Feb x xx:48:01 root@example.com root@example2.com
下一個
root@server:~# mailq |grep "[[:alnum:]]\!" 3658861E66! 657 Wed Feb x xx:48:01 root@example.com root@server:~# mailq |grep "^[[:alnum:]]\!" root@server:~#
第一個 grep 工作提供了預期的結果,但第二個根本不起作用
有什麼想法嗎?
您正在
grep
ping 一個 alnum 字元,然後是一聲巨響。試試這個模式^[[:alnum:]]{10}!
。
第二個正則表達式
^[[:alnum:]]!
匹配行首的單個字母數字字元,後跟一個驚嘆號。例如
3! A! c!
但不是
14AF361E2F!
(十個字母數字字元,和
!
)要準確匹配十個字元 and
!
,請使用$ mailq | grep -E '^[[:alnum:]]{10}!'