Je suis au courant de la capacité de ZSH à faire: mais disons que je veux exécuter les deux sorties à travers une autre commande. Par exemple, comment allez-moi combiner ces deux commandes afin d'éviter d'exécuter Le plus proche que je puisse arriver est: < / p> mais je préfère ne pas écrire le fichier sur le disque non compressé (c'est grand!). P> P> mysqldump code> deux fois? P>
3 Réponses :
Vous pouvez connecter des processus via la FIFO et utilisez TEE Utility pour copier la sortie standard à chaque FIFO et à STDOUT. Quelque chose comme:
Les travaux suivants: modifié pour votre exemple (mais non testé): p> ou, probablement mieux: P. > // J'ai trouvé presque le même exemple dans la section de substitution de processus dans Notez également que l'exemple précédent peut être écrit de manière plus compacte et efficace (à condition que l'option multidios soit définie) comme suit: p>
man zshexpn code>: p>
{ paste <(cut -f1 file1) <(cut -f3 file2) } > >(process)
Vous pouvez utiliser la substitution de processus.
dans ZSH: p> in bash: p> substitution de processus gère des tuyaux nommés pour vous. p> p>
+1 - J'ai accepté @zyx puisqu'il s'agit d'une réponse plus complète - elle répond au problème avec attendre la commande à compléter - mais j'aime l'option ici pour utiliser Bash avec T-shirt, car je ne suis pas toujours dans ZSH. Merci!