Saída de digitação simples?

2

Em um script, eu quero ser capaz de escrever um endereço IP em algum lugar facilmente, então eu pensei em usar o dig (ou um comando similar) com carrapatos.

No entanto, a saída mais simples que consegui criar é a

> dig -t A +noall +answer www.google.com
www.google.com.     300 IN  A   173.194.66.106
www.google.com.     300 IN  A   173.194.66.104

Qualquer forma (extra arg, ferramenta diferente em vez de escavação?) para se livrar do lixo além do endereço IP ?? ( E por favor não me diga para usar sed. )

Obrigado

    
por knocte 29.10.2012 / 17:14

3 respostas

10

Na caixa do CentOS eu tenho que entregar

dig +short   www.google.com
74.125.132.147
74.125.132.99
74.125.132.103
74.125.132.104
74.125.132.105
74.125.132.106

Se você quiser apenas um endereço,

dig +short   www.google.com | head -1

ou

dig +short   www.google.com | tail -1
    
por 29.10.2012 / 17:21
2

sed é uma opção viável e a rejeição total é equivocada na melhor das hipóteses.

De qualquer forma, tente

dig -t A +noall +answer www.google.com | cut -f 6 | tail -1
    
por 29.10.2012 / 17:20
0

Para scripts (especialmente se estiver fazendo pesquisa inversa em relatórios), a menos que você precise testar a funcionalidade específica do DNS, seria melhor usar getent hosts ... Dessa forma, se estiver executando um daemon de cache DNS local ( eg. nscd ou um servidor DNS de cache local como dnsmasqd) então você obtém um ganho de performance e cache, e não bombardeia o servidor DNS com muito mais tráfego do que o necessário.

Eu escrevi uma descrição com um exemplo em AWK . Espero que ajude as pessoas a evitar um pouco da dor com que estou trabalhando.

    
por 15.04.2015 / 13:11