会社はメーリングリストに入れたくないワンタイムEメールやその他のEメールリストを受け取り、それを削除してもらいました。わかりましたgrep -v
。awk !/xxx/'
しかし、これは彼らが望んでいない1000の電子メールドメインのリストです。 Bash スクリプトを使用できますが、一度に 1 つずつ並べ替え、まだ手動で並べ替える必要があります。どんなアイデアでも大歓迎です
答え1
私が正しく理解したら、メーリングリストファイルがあります。
$ cat mail_list
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
ブラックリストファイルがあります。
$ cat blacklist
[email protected]
[email protected]
新しいメーリングリストファイルを作成し、ブラックリストからメールアドレスを削除しますか?
ブラックリストファイルの使用grep
:
-f ファイル、 --file=ファイル
ファイルから1つ以上の改行で区切られたパターンを読み取ります。空のパターンラインはすべての入力ラインと一致します。改行はパターンの一部とは見なされません。ファイルが空の場合、一致するものはありません。
$ 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