Şahsen, favorim (çoğu Linux dağıtımında standart olan bash ve diğer şeyleri gerektirir)
Detaylar, iki şeyin ne çıktığına ve onları nasıl birleştirmek istediğinize bağlı olarak değişebilir ...
Komut1 ve komut2'nin içeriği birbiri ardına çıktı:
cat <(command1) <(command2) > outputfile
Ya da her iki komut da yan yana görmek istediğiniz aynı verinin alternatif versiyonlarını verirse (bunu snmpwalk ile kullandım; diğer taraftaki sayılar ve diğer taraftaki MIB adları):
paste <(command1) <(command2) > outputfile
Veya iki benzer komutun çıktısını karşılaştırmak istiyorsanız (iki farklı dizinde bir bulma söyleyin)
diff <(command1) <(command2) > outputfile
Veya bir tür çıktılar sipariş ettikleri takdirde, bunları birleştirin:
sort -m <(command1) <(command2) > outputfile
Veya her iki komutu bir seferde çalıştırın (bazı şeyleri biraz karıştırmak olabilir):
cat <(command1 & command2) > outputfile
<() Operatörü, her komut için adlandırılmış bir boru (veya / dev / fd) kurar, bu komutun çıktısını adlandırılmış boruya (veya / dev / fd filehandle referansı) geçirir ve adı komut satırına geçirir. > () İle eşdeğer var. Sen yapabilirdi: command0 | tee >(command1) >(command2) >(command3) | command4
aynı anda örneğin 4 diğer komutlara bir komutun çıktısının göndermek.