grep 또는 egrep을 사용하여 느낌표/폭발이 포함된 보관된 이메일 줄을 가져오려고 합니다.
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]
다음
root@server:~# mailq |grep "[[:alnum:]]\!"
3658861E66! 657 Wed Feb x xx:48:01 [email protected]
root@server:~# mailq |grep "^[[:alnum:]]\!"
root@server:~#
첫 번째 grep 작업은 예상한 결과를 제공하지만 두 번째 작업은 전혀 작동하지 않습니다.
어떤 아이디어가 있나요?
답변1
두 번째 정규식은 ^[[:alnum:]]!
줄 시작 부분에 느낌표가 오는 단일 영숫자 문자와 일치합니다.
예를 들어
3!
A!
c!
하지만
14AF361E2F!
(10자리 영숫자 및 !
)
정확히 10자의 합을 일치시키려면 !
다음을 사용하십시오.
$ mailq | grep -E '^[[:alnum:]]{10}!'
답변2
alnum 문자를 ping하고 있는데 grep
큰 소리가 들립니다. 이 패턴을 시도해 보십시오 ^[[:alnum:]]{10}!
.