저는 큰 메일함을 가지고 있고 Thunderbird를 사용합니다. 즉, 파일이 여러 개 있다는 의미입니다 mbox
. 이러한 개별 파일에는 특정 폴더의 모든 이메일이 포함되어 있습니다. 이제 특정 폴더에서 보낸 사람의 일부 데이터를 가져오고 싶습니다. 내 이상적인 통계는 모든 고유한 보낸 사람과 해당 폴더에 보낸 사람의 이메일이 몇 번이나 있는지 확인하는 것입니다. 가장자리:
- 존 A: 10x
- 마리아 B: 5배
등.
몇 가지 옵션을 시도했지만 grep
'From:'을 grep하면 X 헤더도 표시되고 다른 헤더를 제외하는 방법을 잘 모르겠습니다. 명령줄에서 이 작업을 수행할 수 있는지 아는 사람이 있습니까?
답변1
먼저, 헤더를 안정적으로 가져와야 하며 From
, 이는 제한적인 grep 정규식을 사용하여 수행할 수 있습니다.
% grep --no-filename --ignore-case '^From:' test.eml
From: [email protected]
다음으로 발생 횟수를 계산해야 합니다. 이는 다음과 같이 수행할 수 있습니다.uniq -c
(정렬된 목록이 필요합니다).
% grep --no-filename --ignore-case '^From:' *.eml | sort | uniq --count
1 From: [email protected]
3 From: [email protected]
그런 다음 가장 빈번한 항목이 맨 위에 표시되도록 출력을 발생 횟수별로 정렬할 수 있습니다.
% grep --no-filename --ignore-case '^From:' *.eml | sort | uniq --count | sort --general-numeric-sort --reverse
3 From: [email protected]
1 From: [email protected]