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 un'applicazione che produrrà una grande quantità di dati che non desidero archiviare sul disco. L'applicazione produce principalmente dati che non desidero utilizzare, ma una serie di informazioni utili che devono essere suddivise in file separati. Ad esempio, dato il seguente output: JUNK JUNK JUNK JUNK A 1 JUNK B …
L'esempio, di seguito, mi ha sorpreso. Sembra essere contro intuitivo ... a parte il fatto che c'è un baffo di tempo in più per l' utente della echo | sedcombo. Perché sta echousando così tanto tempo di sistema quando funziona da solo, o dovrebbe essere la domanda, come sedcambia lo …
Scusate se questa è una domanda sciocca ma sto cercando di realizzare qualcosa del genere ma su una riga: $ prog1 | prog2 $ prog1 | prog3 Quindi, sostanzialmente voglio eseguire prog1 e reindirizzare l'output su prog2 e prog3 separatamente (non una pipe concatenata). All'inizio, stavo cercando di usare tee …
Sto cercando di cdaccettare un nome di directory reindirizzato ad esso da un altro comando. Nessuno di questi metodi funziona: $ echo $HOME | cd $ echo $HOME | xargs cd Questo funziona: $ cd $(echo $HOME) Perché il primo set di comandi non funziona e ce ne sono altri …
Se voglio tcpdump richieste DNS da parte dei client (su un router OpenWrt 10.04), allora io root@ROUTER:/etc# tcpdump -n -i br-lan dst port 53 2>&1 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on br-lan, link-type EN10MB (Ethernet), capture size 96 bytes 22:29:38.989412 IP 192.168.1.200.55919 …
Voglio timeun comando che consiste in due comandi separati con un output di piping a un altro. Ad esempio, considera i due script seguenti: $ cat foo.sh #!/bin/sh sleep 4 $ cat bar.sh #!/bin/sh sleep 2 Ora, come posso timecomunicare il tempo impiegato foo.sh | bar.sh(e sì, so che la …
Sto cercando di trovare il modo più efficiente di scorrere attraverso alcuni valori che sono un numero consistente di valori distanti tra loro in un elenco di parole separato da spazi (non voglio usare un array). Per esempio, list="1 ant bat 5 cat dingo 6 emu fish 9 gecko hare …
Questa domanda è stata migrata da Server Fault perché può essere risolta su Unix & Linux Stack Exchange. Migrato 3 anni fa . Ho creato un file di test denominato "test" che contiene quanto segue: xxx yyy zzz Ho eseguito il comando: (sed '/y/ q'; echo aaa; cat) < test …
Alcune shell, come bash, supportano la sostituzione del processo, che è un modo per presentare l'output del processo come file, come questo: $ diff <(sort file1) <(sort file2) Tuttavia, questo costrutto non è POSIX e, quindi, non portatile. Come si può ottenere la sostituzione del processo in modo compatibile con …
Ho letto come vengono implementate le pipe nel kernel di Linux e ho voluto confermare la mia comprensione. Se non sono corretto, verrà selezionata la risposta con la spiegazione corretta. Linux ha un VFS chiamato pipefs che è montato nel kernel (non nello spazio utente) pipefs ha un singolo super …
Sulla riga di comando, posso reindirizzare o reindirizzare l'output di un comando a un file o un altro comando utilizzando l' operatore >o |dopo il comando. Mi sono imbattuto in una situazione meno standard in cui vorrei reindirizzare l'output su un file, ma non sembra avere l'opportunità di reindirizzarlo: Quando …
Può meno seguire (premendo F) un input convogliato (in modo simile a un file)? Per un file su cui si sta scrivendo, il comando less <file> seguirà il file quando si preme F. Ma se ho un comando che convoglia l'output direttamente in meno, in questo modo command | less …
In precedenza ho usato il sourcecomando in questo modo: source file_name Ma quello che sto cercando di fare è questo: echo something | source Che non funziona.
Perché ottengo valori diversi per $xdai frammenti di seguito? #!/bin/bash x=1 echo fred > junk ; while read var ; do x=55 ; done < junk echo x=$x # x=55 .. I'd expect this result x=1 cat junk | while read var ; do x=55 ; done echo x=$x # …
Ho esplorato quasi tutte le domande simili disponibili , senza risultati. Vorrei descrivere il problema in dettaglio: Eseguo alcuni script incustoditi e questi possono produrre output standard e righe di errore standard, voglio catturarli nel loro ordine preciso come visualizzato da un emulatore di terminale e quindi aggiungere un prefisso …
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.