Bash 스크립트를 사용하지 않고 도메인 목록을 grep하는 방법 [닫기]

Bash 스크립트를 사용하지 않고 도메인 목록을 grep하는 방법 [닫기]

회사에서 메일링 목록에 넣기를 원하지 않는 일회성 이메일 및 기타 이메일 목록을 받고 이를 삭제해 달라고 요청했습니다. 알아요 grep -v. awk !/xxx/'하지만 이것은 그들이 원하지 않는 1000개의 이메일 도메인 목록입니다. Bash 스크립트를 사용할 수 있지만 한 번에 하나씩만 정렬하고 여전히 수동 정렬이 필요합니다. 어떤 아이디어라도 환영합니다

답변1

내가 올바르게 이해했다면 메일링 리스트 파일이 있는 것입니다.

$ cat mail_list
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

블랙리스트 파일이 있습니다.

$ cat blacklist
[email protected]
[email protected]

새 메일링 리스트 파일을 생성하고 블랙리스트에서 이메일 주소를 제거하시겠습니까?

블랙리스트 파일 사용 grep:

-f 파일, --file=파일

파일에서 하나 이상의 줄바꿈으로 구분된 패턴을 읽습니다. 빈 패턴 라인은 모든 입력 라인과 일치합니다. 줄바꿈은 패턴의 일부로 간주되지 않습니다. 파일이 비어 있으면 일치하는 항목이 없습니다.

$ grep -vxFf blacklist mail_list
[email protected]
[email protected]
[email protected]

새 메일링 리스트를 생성하려면 이를 파일로 리디렉션할 수 있습니다. 예를 들면 다음과 같습니다.

$ grep -vxFf blacklist mail_list > new_mail_list

그런 다음 이를 사용하여 이전 메일링 목록을 덮어쓸 수 있습니다.

$ mv new_mail_list mail_list

관련 정보