電子メールアドレスファイル(ファイル1)とその電子メールアドレスの一部を含む他のデータラインファイル(ファイル2)があります。
ファイルを比較し、ファイル1の電子メールと一致するファイル2のすべての行を削除したいと思います。
私はループを実行し、各行をsed -i
新しいファイルとして使用するか、ループしてgrepしてから、ファイルをCOMMと比較できることを知っています。
しかし、file1のすべての行をfile2にgrepし、file1の電子メールを含まないfile2の行だけを保持できる比較方法があるかどうかを知りたいです。
ファイル1:
[email protected]
[email protected]
[email protected]
ファイル2:
23456|tom|jones|test@goodemailcom|10
12345|pete|best|[email protected]|10
87569|remove3|me3|[email protected]|10
23098|mike|jones|mike@goodemailcom|10
10985|al|best|[email protected]|10
09865|removve|me|[email protected]|10
13579|remove2|me2|[email protected]|10
誰もが持っている知識を高く評価します。
答え1
次の目的で使用できますfgrep
。
fgrep -v -f file1 file2 > unique_addresses
両方のファイルの各行に電子メールアドレスがある場合、これははるかに簡単です。
伝統的にfgrep
別々のプログラムとして存在しますが、GNUユーティリティはgrep -F
同じことを行います。