0

私は百万のドメイン名のリストを持っていますname.txt

hello.com
abc.com
gogogo.us
goodbye.me
...
...

.com8 文字 ( を含む) で終わりが で終わるドメイン名のみをパイプするにはどうすればよい.comですnames_new.txtか?

スクリプトなどではなく、単純なコマンドを探しています。

4

4 に答える 4

4

grepパターンマッチングのために取得する最初のツールです:

egrep -x '[a-z]{4}\.com' name.txt > newname.txt
于 2013-03-16T20:03:21.963 に答える
0

オークを使用します。ドメイン名は によって .フィールドに分割されます。

最初のフィールドの長さ 4 がテストされ、.comさらに 4 文字が追加されます。

2 番目のフィールドにはcom.

両方の条件が満たされると、行が印刷されます。

cat name.txt |awk -F. '((length($1)==4)&&($2=="com")){print;}' > names_new.txt 

注: サブドメインがある場合、この行は誤検知を検出する可能性があります。 mail.com.nz

于 2013-03-16T20:15:10.887 に答える
0

ダッシュまたは数字を含むドメイン名がある場合があります。
-i は、大文字と小文字を区別せずに egrep を強制的に一致させます。

egrep -i "^[a-z0-9-]{4}\.com$" name.txt > names_new.txt
于 2013-03-20T03:11:22.220 に答える
0

試す

 egrep "^[a-z][a-z][a-z][a-z]\.com$" name.txt > names_new.txt
于 2013-03-16T20:00:54.383 に答える