然而,我知道它比手工做事要快得多。但无论如何可能加快这个脚本的速度?多线程还是什么?我是unix的新手,这是我的第一个脚本=)。打开建议或进行任何更改。脚本似乎随机地在某个生成的域上暂停了很多。
#!/bin/bash
for domain in $(pwgen -1A0B 2 10000);
do
whois $domain.com | egrep -q '^No match|^NOT FOUND|^Not fo|AVAILABLE|^No Data Fou|has not been regi|No entri'
if [ $? -eq 0 ]; then
echo "$domain.com : available"
else
echo "$domain.com"
fi
done
答案 0 :(得分:1)
首先使用所需的域名创建一个文件。请拨打此domains.lst
:
pwgen -1A0B 2 10000 > domains.lst
然后创建更小的文件:
split --lines=100 domains.lst domains.lst.
然后创建一个脚本,该脚本获取文件名并使用whois
处理该文件。还会创建一个输出文件input.out
。
创建另一个使用&
的脚本在后台为所有小块启动上述脚本。所有后台任务完成后合并输出。
答案 1 :(得分:1)
在拆分和分发之前,
警告这似乎没用:要求pwgen
在two
和a
之间构建由z
个字符组成的10'000行...此外,只有echo $((26*26)) -> 676
种可能性(实际上,pwgen
尝试构建可说字,只有625种可能性。)
pwgen -1A0B 2 10000 | sort | uniq -c | sort -n | tail
27 ju
27 mu
27 vs
27 xt
27 zx
28 df
28 sy
28 zc
29 dp
29 zd
因此,使用此命令,您将执行 29次相同的操作。
尝试10x运行pwgen -1A0B 2 10000
来打印提出了多少不同的组合,以及提出更多时间和更少时间的组合:
for ((i=10;i--;)); do
echo $(
(
(
pwgen -1A0B 2 10000 |
sort |
uniq -c |
sort -n |
tee /dev/fd/6 |
wc -l >/dev/fd/7
) 6>&1 | (
head -n1
tail -n1
)
) 7>&1
)
done
6 bd 625 31 bn
3 bj 625 29 sq
6 je 625 30 ey
4 ac 625 30 sz
5 ds 625 29 wf
4 xw 625 28 qb
4 jj 625 30 pa
6 io 625 29 sg
4 vw 625 30 kb
5 fz 625 31 os
此印刷品:
| | | | |
| | | | \- max proposed pattern
| | | \---- number of times max proposed pattern was issued
| | \-------- number of different differents purposes
| \----------- min proposed pattern
\-------------- number of times min proposed pattern was issued