我正在使用以下命令从文本文件中的域列表中检查 whois 信息,然后将包含电子邮件的任何行输出到新文件:
for i in $(cat testdomains.txt); do whois $i| egrep [a-zA-Z0-9]@[a-zA-Z0-9]\.[a-zA-Z0-9]; done >> results.txt
有没有办法通过一次检查多个域来加快速度?例如,现在它正在从一个域到下一个域检查信息。我可以在命令中更改什么以使其一次检查 50 个域吗?
我正在使用以下命令从文本文件中的域列表中检查 whois 信息,然后将包含电子邮件的任何行输出到新文件:
for i in $(cat testdomains.txt); do whois $i| egrep [a-zA-Z0-9]@[a-zA-Z0-9]\.[a-zA-Z0-9]; done >> results.txt
有没有办法通过一次检查多个域来加快速度?例如,现在它正在从一个域到下一个域检查信息。我可以在命令中更改什么以使其一次检查 50 个域吗?
使用&
,您可以在后台运行任何命令(因此并行):
for i in $(< testdomains.txt); do
whois "$i" | egrep '[a-zA-Z0-9]@[a-zA-Z0-9]\.[a-zA-Z0-9]' &
done >> results.txt
&
放在命令的末尾,例如,shell 在子shellcommand args &
的后台执行命令。shell 不等待命令完成,返回状态为 0。最后一个后台命令的 Pid 可通过特殊变量获得$!
&
做一个fork(2)