Als «pipe» getaggte Fragen

Eine Unix-Pipe verbindet Dateideskriptoren zweier Prozesse. Eine Pipe wird mit der in <unistd.h> deklarierten POSIX pipe () -Funktion erstellt. Shells ermöglichen die Erstellung von Rohren zwischen Prozessen mit "|".

4
Rohre verstehen
Als ich gerade Pipe in Bash verwendet habe, habe ich nicht mehr darüber nachgedacht. Wenn ich jedoch ein C-Codebeispiel mit system call pipe () zusammen mit fork () lese, frage ich mich, wie ich Pipes verstehen kann, einschließlich anonymer Pipes und Named Pipes. Es ist oft zu hören, dass "alles …

2
Auszeit, Rohrbruch und WC
Ich hatte die Idee, einige Dekomprimierungsprogramme schnell zu vergleichen. ZB für gz würde ich den Befehl ausführen: timeout 10 zcat foo.gz | wc -c Dies würde die Datenmenge messen, die der Dekomprimierer in 10 Sekunden extrahieren könnte. Das einzige Problem ist, dass es nicht funktioniert: Wenn zcat getötet wird, wird …
20 pipe  timeout 

3
Nicht blockierende gepufferte Named Pipe?
Ich suche nach etwas, von dem ich vermute, dass es es nicht gibt: Eine nicht blockierende gepufferte Named Pipe (FIFO) zur Verwendung über die Befehlszeile. Gibt es so etwas? Hier ist der Anwendungsfall: Angenommen, ich habe einen Prozess, der eine lange Zeit im Hintergrund abläuft und eine Menge Ausgabe anstößt …




3
Readarray (oder Pipe) Problem
Ich blieb bei einem merkwürdigen readarrayKommandoverhalten. Die man bashStaaten: readarray Read lines from the standard input into the indexed array variable array Aber diese Skripte funktionieren nicht (Array ist leer): unset arr; (echo a; echo b; echo c) | readarray arr; echo ${#arr[@]} unset arr; cat /etc/passwd | readarray arr; …
19 bash  pipe 

3
Verwendung von ^ als Shell-Metazeichen
Ich habe heute ein kleines Drehbuch geschrieben, das Folgendes enthielt grep -q ^local0 /etc/syslog.conf Bei der Überprüfung schlug ein Mitarbeiter , dass ^local0da zitiert werden ^Mittel „Rohr“ in der Bourne - Shell. Überrascht von dieser Behauptung habe ich versucht, einen Hinweis darauf zu finden. Nichts, was ich im Internet gefunden …

4
Warum lesen einige Befehle nicht von ihrer Standardeingabe?
Ich frage mich, wann wir Pipeline verwenden sollten und wann nicht. Sagen wir zum Beispiel, um einen bestimmten Prozess abzubrechen, der mit PDF-Dateien umgeht, funktioniert Folgendes nicht mit Pipeline: ps aux | grep pdf | awk '{print $2}'|kill Stattdessen können wir es nur auf folgende Arten tun: kill $(ps aux| …
19 shell  pipe  arguments  stdin 

1
Warum hört `tar` in` dd` nicht auf, bis die Platte voll ist?
Ich habe ein Tar-Archiv eines einzelnen Disk-Image. Das Bild in dieser Teer-Datei ist ungefähr 4 GB groß. Ich leite die Ausgabe von tar xfin ddum das Disk-Image auf eine SD-Karte zu schreiben. Der Speicherauszug stoppt nie, bis die Karte voll ist. Hier ist meine Shell-Sitzung: $ ls -l disk.img.tgz -rw-r--r-- …
18 pipe  tar  dd  disk-image 


2
Wie komponiere ich Bash-Funktionen mit Pipes?
Auf diese Weise habe ich einige Funktionen definiert: function f { read and process $1 ... echo $result } Ich möchte sie zusammenstellen, damit der Aufruf so aussieht f | g | h. Welches Idiom soll ich verwenden, um eine Funktion, die mit Argumenten arbeitet, in eine Funktion zu konvertieren, …


3
Wie lade ich ein RPM-Paket herunter und installiere es in einer Zeile?
Ich habe mich gefragt, ob wgetes möglich ist, ein RPM herunterzuladen und es dann sudo rpm -iin einer einzigen Zeile zu installieren. Mir ist klar, dass ich einfach rennen könnte: wget -c &lt;URL&gt; sudo rpm -i &lt;PACKAGE-NAME&gt;.rpm Um das Paket zu installieren, habe ich mich gefragt, ob es möglich sein …
18 pipe  rpm  wget 

4
Ausgabe nach stdout und gleichzeitig grep in eine Datei
Ich habe ein Skript, das Text ausgibt stdout. Ich möchte all diese Ausgaben in meinem Terminal sehen und gleichzeitig einige Zeilen filtern und in einer Datei speichern. Beispiel: $ myscript Line A Line B Line C $ myscript | grep -P 'A|C' &gt; out.file $ cat out.file Line A Line …
18 grep  pipe  stdout  tee 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.