Piped-Split-Befehl wird nicht ausgeführt

Oct 03 2020

Ziemlich einfache Frage, auf die ich ratlos bin. Ich habe ein Befehlszeilenprogramm namens twarc, das ich ausführe. Dies kann ziemlich große Dateien erstellen. Ich möchte dies laufen lassen und Dateien mit einer Größe von 5 GB generieren, um die Weiterverarbeitung zu vereinfachen. Ich versuche, den folgenden Befehl auszuführen:

twarc "wordlist" > outputfile.jsonl | split -b 5G

Die Datei endete jedoch über Nacht bei 10,4 GB. Ich kann | split -b 5Gmanuell laufen , würde es aber lieber nicht tun.

Ich verwende Split (GNU Coreutils 8.25) und das Windows Linux Subsystem.

Antworten

3 bashity Oct 03 2020 at 21:38

Nach dem Kommentar lag die Antwort die ganze Zeit vor mir!

Das Problem ist, dass ich die Standardausgabe des Befehls in eine Datei geschrieben habe , wodurch der Befehl effektiv beendet wurde. Um es in Split zu leiten, musste ich nicht in eine Datei schreiben . Beispielsweise:

twarc "wordslist" | split -b 1G

Hoffe das hilft jemandem auf der ganzen Linie!