/var/spool/postfix에서 egrep을 사용하면 아무것도 반환되지 않습니다.

/var/spool/postfix에서 egrep을 사용하면 아무것도 반환되지 않습니다.

내 컴퓨터는 CentOS 7.1을 사용하고 있습니다. 에 있는 모든 파일을 검색하려고 합니다 /var/spool/postfix.

내가 이것을 달성하려는 방법은 다음과 같습니다.

$ egrep -lir --include="*.*" "[email protected]" ./ > /root/results.txt

그러나 검색은 항상 빈( results.txt생성되었지만 내부에 아무것도 없음)을 반환합니다. @문제가 있을 수도 있다고 생각하여 --include검색 범위를 다음과 같이 줄였습니다.

$ egrep -lir "somedomain.com" ./ > /root/results.txt

그러나 이것도 아무런 결과를 얻지 못했습니다. 내가 찾고 있는 문자열이 포함된 파일이 최소한 하나 이상 있을 것이라고 확신하므로 *.txt에 결과가 최소한 하나 이상 있어야 합니다.

을 사용하여 원하는 문자열이 포함된 파일을 어떻게 찾을 수 있습니까 egrep?이것이 가능하지 않다면 다른 검색 방법을 사용해도 됩니다.

왜 이/배경이 필요한가요?

잘못된 이메일 계정과 비밀번호 선택으로 인해 해당 컴퓨터는 약 50만 개의 스팸 메시지를 보내는 데 사용되었으며, 스팸 메시지는 빠르게 반송되어 하드 드라이브를 가득 채우기 시작했습니다. 문제가 되는 이메일 계정은 삭제되었고, 기기는 오프라인 상태가 되었습니다. 이제 /var/spool/postfix/defer들어오고 나가는 모든 이메일 중에서 특정 이메일을 찾으려고 합니다 /var/spool/postfix/deferred.

변형을 사용할 수 있을 것 같지만 필터링된 결과를 반환하는 다른 명령을 사용하여 이 작업을 수행 mailq > /root/results.txt하고 싶습니다 .egrep, grep, find

답변1

GNU는 grep스위치를 사용하여 정규식 검색을 수행할 수 있으므로 -E를 사용할 필요가 없습니다 egrep.

나는 다음을 수행할 것입니다:

$ grep -rilE '[email protected]' . | tee /root/results.txt

터미널을 통해 결과를 보고 싶지 않다면 | teea로 변경할 수 있습니다.>

인용하다

관련 정보