テキストファイルを検索するgrepコマンドを実行したいと思います。メールアドレスと特定のtldを一致させる必要があります。grep正規表現で特定のメールを検索する正規表現
例、テキストファイルに次の行
[email protected]
[email protected]
[email protected]
が含まれていると私は.com
TLDメールを探していた場合:
それは私が[email protected]
と[email protected]
ではなく[email protected]
と一致する必要があります次のgrepコマンドを使用しています。これは.comを含むほとんどすべての文字列に一致します。私はそれが特異的ドメイン
grep -rnwi '@.+\.com$' "/Users/Me/Desktop/Folder/"
は何にもマッチしない
grep -rnwi "/Users/Me/Desktop/Folder/" -e ".com"
EDITのTLDを一致させたいです。 grep -rnwi "/Users/Me/Desktop/Folder/" -e "hotmail.com"
は十分に一致します。私はhotmail.comだけでなく、すべての.comメールを望んでいません。
EDIT2これはどちらにもあてはまりません。それは私がフォルダ内の複数のテキストファイルを検索しているからですか?
grep -rnwi '@.\+\.com$' "/Users/Me/Desktop/Folder/"
EDIT3:完全にはっきりしていない。 .tld
拡張子の後に文字があるので、私は末尾の$
を残しておかなければなりませんでした。それは動作します。
パターンの末尾に '$'を追加して(バックスラッシュや文字クラスを使ってドットをエスケープしてください) '-e" [。] com $ "' – Tensibai
@stef、 '-w'オプションあなたはそれが必要な理由を問題を作成していますか? – Sundeep