Dois comandos, um pipeline

11

Eu preciso que esses dois comandos sejam um (para que eu possa canalizá-los ainda mais):

dig +nottlid -t any bix.hu | egrep -v "^;;|^;|^$" | sort
dig +nottlid -t any www.bix.hu | egrep -v "^;;|^;|^$" | sort

Quero dizer, preciso que a saída desses dois comandos esteja em um pipe:

$ dig +nottlid -t any bix.hu | egrep -v "^;;|^;|^$" | sort
bix.hu.         IN  A   193.239.149.1
bix.hu.         IN  MX  10 deneb.iszt.hu.
bix.hu.         IN  NS  ns.iszt.hu.
bix.hu.         IN  NS  ns.iszt.hu.
bix.hu.         IN  NS  ns-s.nic.hu.
bix.hu.         IN  NS  ns-s.nic.hu.
bix.hu.         IN  SOA ns.iszt.hu. hostmaster.iszt.hu. 2011053000 28800 7200 604800 14400

e

dig +nottlid -t any www.bix.hu | egrep -v "^;;|^;|^$" | sort
bix.hu.         IN  NS  ns.iszt.hu.
bix.hu.         IN  NS  ns-s.nic.hu.
www.bix.hu.     IN  A   193.239.149.1

para que eu pudesse sha256sumreuni-los, sem gravar a saída dos dois comandos em um arquivo e sha256sumo arquivo.

Q: é assim:

echo hi | echo hi2 | sha256sum

é claro que isso não vai funcionar, mas existem soluções para isso? Para que eu precise do sha256sum de:

hi
hi2
-->>
697ec886148d94d5b094df14f301f2e5a4abd8098a0e0dc2afb0a97945cea677

mas só posso ter saídas de diferentes comandos [mencionados acima, 2 domínios diferentes]. [Só quero escrever um script "verificador DNS" para me avisar quando os registros DNS forem alterados para um domínio]

LanceBaynes
fonte

Respostas:

14

Você pode passar vários nomes para dig:

dig +nottlid -t any bix.hu www.bix.hu | egrep -v "^;;|^;|^$" | sort
Esteira
fonte
33

Uma solução geral é a seguinte:

{ command1; command2; } | some-other-command
enzotib
fonte
Or ( command1; command2; ) | some-other-command.
Hlldal
4
@hlovdal: sim, mas nesse caso você está executando um subshell (alguém prefere saber), e o segundo ;não é necessário.
enzotib
0

Existem duas maneiras de obter exatamente essa saída sem grepping:

Desative as seções que você não deseja:

dig +nottlid +nocomments +noquestion +nostats +nocmd -t any bix.hu

Desative todas as seções e ative as seções que você deseja:

dig +nottlid +noall +authority +answer +additional -t any bix.hu

Além disso, parece que a saída fornece uma seção diferente additional(ou " glue") a cada vez, portanto, você pode usar +noadditionalse estiver apenas tentando verificar se há alterações no arquivo de zona.

Mikel
fonte