Una pipe Unix collega i descrittori di file di due processi. Viene creata una pipe con la funzione POSIX pipe () dichiarata in <unistd.h>. Le shell forniscono la creazione di pipe tra i processi usando "|".
Ho uno script che chiama due comandi: long_running_command | print_progress Le long_running_commandstampe sono un progresso ma non sono soddisfatto. Sto usando print_progressper renderlo più bello (vale a dire, stampo l'avanzamento in una sola riga). Il problema: la connessione di una pipe allo stdout attiva anche un buffer 4K, al bel …
Ho due processi fooe bar, collegato con una pipe: $ foo | bar baresce sempre 0; Sono interessato al codice di uscita di foo. C'è un modo per arrivarci?
Vorrei rimuovere tutti gli spazi e le schede iniziali e finali da ciascuna riga di un output. Esiste uno strumento semplice come il quale trimpotrei convogliare il mio output? File di esempio: test space at back test space at front TAB at end TAB at front sequence of some space …
Ho appena visto questo scritto; $ some-command >| /tmp/output.txt I tubi verticali vengono utilizzati nei reindirizzamenti standard "piping" l'output di un comando verso un altro, è >|infatti completamente inutile in quanto sarebbe lo stesso >di questo scenario?
Come commento in Sono confuso sul perché "| true" in un makefile ha lo stesso effetto dell'utente "|| true" cjm ha scritto: Un altro motivo per evitare | vero è che se il comando producesse abbastanza output per riempire il buffer della pipe, si bloccherebbe l'attesa di true per leggerlo. …
Ho un comando che invia i dati a stdout ( command1 -p=aaa -v=bbb -i=4). La linea di uscita può avere il seguente valore: rate (10%) - name: value - 10Kbps Voglio grep quell'output per memorizzare quel 'rate' (immagino che pipe sarà utile qui). E infine, vorrei che quel rate fosse …
Ho un file binario (che non posso modificare) e posso fare: ./binary < file Posso anche fare: ./binary << EOF > "line 1 of file" > "line 2 of file" ... > "last line of file" > EOF Ma cat file | ./binary mi dà un errore. Non so perché …
Spesso desidero inviare dati stringa relativamente brevi (che potrebbero essere diverse righe) a programmi a riga di comando che accettano ripetutamente l'input dai file (ad es. Wdiff). Certo che posso creare uno o più file temporanei, salvare lì la stringa ed eseguire il comando con il nome del file come …
Non ho mai veramente pensato a come la shell esegua effettivamente i comandi piped. Mi è sempre stato detto che lo "stdout di un programma viene convogliato nello stdin di un altro", come un modo di pensare alle pipe. Quindi, naturalmente, ho pensato che, nel caso di dire, A | …
Mi chiedevo come capire quanto segue: Il piping dello stdout di un comando nello stdin di un altro è una tecnica potente. Ma cosa succede se è necessario eseguire il pipe dello stdout di più comandi? È qui che entra in gioco la sostituzione del processo. In altre parole, la …
Volevo essere intelligente e confrontare un file remoto con un file locale senza prima scaricarlo manualmente. Posso ottenere il contenuto del file remoto da ssh user@remote-host "cat path/file.name" Tuttavia, esegui il piping a diff ssh user@remote-host "cat path/file.name" | diff path/file.name mi dà questo: diff: missing operand after `path/file.nae' diff: …
stdoutsu un server CentOS è necessario eseguire il piping stdinsu un altro server CentOS. È possibile? Aggiornare ScottPack, MikeyB e jofel hanno tutti risposte valide. Ho assegnato la risposta a Scott perché, anche se la mia domanda non specificava la sicurezza come requisito, è sempre bello essere al sicuro. Tuttavia, …
Ho un comando che produce output a colori e vorrei reindirizzarlo in un file con i codici colore eliminati. Esiste un comando che funziona come catse non fosse che rimuove i codici colore? Ho intenzione di fare qualcosa del genere: $ command-that-produces-colored-output | stripcolorcodes > outfile
Tutti sanno come rendere il tubo unidirezionale tra due programmi (bind stdoutdi primo e stdindi secondo): first | second. Ma come realizzare pipe bidirezionali, ovvero cross-bind stdine stdoutdue programmi? C'è un modo semplice per farlo in una shell?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.