Verwenden Sie plattengestützten Puffer zwischen den Pipes

559
Gyscos

Ich möchte einen Befehl an einen langsameren Befehl weiterleiten, mit einem ziemlich großen Puffer (~ 200 GB) dazwischen. Hier ist ein Beispiel für einen Anwendungsfall:

command1 | buffer -f file.buffer | command2 

Gibt es einen Befehl dazu? Die, die ich gesehen habe, blieben nur in Erinnerung.

Würde ich jetzt darüber nachdenken, würde ich das gewünschte Ergebnis erzielen?

#!/bin/bash # buffer.sh FILE="$1" tail -F "$FILE" 2> /dev/null & cat > "$FILE" 

Ich bin mir nicht sicher, wie ich den Schwanz anhalten soll, wenn er alles gelesen hat ...

1

1 Antwort auf die Frage

1
Gyscos

Ich habe gerade mbuffer gefunden: http://www.maier-komor.de/mbuffer.html

Anscheinend verwendet die Option -t eine temporäre Datei für große Puffer, genau das, wonach ich gesucht habe. Großartig!