私は百万のドメイン名のリストを持っていますname.txt
hello.com
abc.com
gogogo.us
goodbye.me
...
...
.com
8 文字 ( を含む) で終わりが で終わるドメイン名のみをパイプするにはどうすればよい.com
ですnames_new.txt
か?
スクリプトなどではなく、単純なコマンドを探しています。
grep
パターンマッチングのために取得する最初のツールです:
egrep -x '[a-z]{4}\.com' name.txt > newname.txt
オークを使用します。ドメイン名は によって .
フィールドに分割されます。
最初のフィールドの長さ 4 がテストされ、.com
さらに 4 文字が追加されます。
2 番目のフィールドにはcom
.
両方の条件が満たされると、行が印刷されます。
cat name.txt |awk -F. '((length($1)==4)&&($2=="com")){print;}' > names_new.txt
注: サブドメインがある場合、この行は誤検知を検出する可能性があります。 mail.com.nz
ダッシュまたは数字を含むドメイン名がある場合があります。
-i は、大文字と小文字を区別せずに egrep を強制的に一致させます。
egrep -i "^[a-z0-9-]{4}\.com$" name.txt > names_new.txt
試す
egrep "^[a-z][a-z][a-z][a-z]\.com$" name.txt > names_new.txt