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.