我正在使用以下命令检查文本文件中域名列表中的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个域吗?
答案 0 :(得分:2)
使用&
,您可以在后台运行任何命令(所以并行):
for i in $(< testdomains.txt); do
whois "$i" | egrep '[a-zA-Z0-9]@[a-zA-Z0-9]\.[a-zA-Z0-9]' &
done >> results.txt
&
放在命令的末尾,例如command args &
,shell在后台的子shell 中执行命令。 shell不等待命令完成,返回状态为0.最后一个后台命令的Pid可通过特殊变量$!
&
在后台执行fork(2)