Isso não é muito difícil.
Verifique a lista de domínios domains.txt
e adicione o domínio a available.txt
quando ele for encontrado (observando o valor de retorno de grep
, que é armazenado em $?
).
Em seguida, remova os domínios encontrados da domains.txt
com a edição sed
no local.
#!/bin/bash
AVAILABLE=~/available.txt
DOMAINS=~/domains.txt
lockfile whois-script.lock
while read -r domain; do
whois $domain | grep -qci "No match"
if [ $? -ne 0 ]; then
# found
echo $domain >> $AVAILABLE
fi
done < $DOMAINS
while read -r domain; do
sed -i "/$domain/d" $DOMAINS
done < $AVAILABLE
rm -f whois-script.lock
Nota: No BSD sed
, você deseja usar o seguinte comando:
sed -i "" "/$domain/d" $DOMAINS
Você pode salvar este script e chamá-lo de seu crontab
. Digite
crontab -e
e, em seguida, adicione uma linha como esta:
*/2 * * * * /path/to/script.sh > /dev/null
Isso executará o script a cada dois minutos ( */2
). Certifique-se de ajustar os caminhos para o domínio antes.