Tentando escrever um script para analisar uma lista de domínios para confirmar se seus registradores estão sendo atualizados corretamente. Eu executo o whois em um nome de domínio e tudo que quero são as linhas que COMEÇAM com "Servidor de nomes" ou "Nome de domínio"
Quando executo e grep a saída 'whois' do shell, funciona perfeitamente:
$ whois customerdomain.com | egrep -e ^'Name Server|^Domain Name'
Domain Name: CUSTOMERDOMAIN.COM
Name Server: ns.buydomains.com
Name Server: this-domain-for-sale.com
Mas quando pego uma lista de domínios e os coloco em um script de shell, o operador "ou" é ignorado e o "Nome de domínio" não é incluído na saída:
Script de exemplo (whois-list.sh):
#!/bin/bash
whois customerdomain.com | egrep -e ^'Name Server|^Domain Name'
whois contoso.com | egrep -e ^'Name Server|^Domain Name'
whois google.com | egrep -e ^'Name Server|^Domain Name'
whois microsoft.com | egrep -e ^'Name Server|^Domain Name'
Saída:
$ ./whois-list.sh
Name Server: ns.buydomains.com
Name Server: this-domain-for-sale.com
Name Server: ns1-205.azure-dns.com
Name Server: ns3-205.azure-dns.org
Name Server: ns2-205.azure-dns.net
Name Server: ns4-205.azure-dns.info
Eu tentei cerca de 10 variações diferentes que parecem funcionar bem no prompt, mas sempre parecem descartar o operador 'ou' quando executado a partir do script.