awk can do pipes "natively" itself, just like the redirections in the example. I'm not an awk quoting expert, but this matches your example & is reported to work A-OK:
awk -F '[,/]' ''
Ich habe also so eine massive Datei ...
1/20/2016,somerandomdata 1/20/2016,somerandomdata 1/20/2016,somerandomdata 1/20/2016,somerandomdata 1/21/2016,somerandomdata 1/21/2016,somerandomdata 1/21/2016,somerandomdata 1/21/2016,somerandomdata 1/22/2016,somerandomdata 1/22/2016,somerandomdata 1/22/2016,somerandomdata 1/22/2016,somerandomdata
Ich möchte es in eine Reihe kleinerer Dateien aufteilen, die auf der ersten Spalte basieren. Einfach: Verwenden Sie awk so:
awk -F '[,/]' ''
Hier ist der Haken: Ich möchte, dass die Ausgabedateien komprimiert werden. Ich könnte also weitermachen und das nach der Tatsache tun ...
find . -name "filename*.dat" | xargs -l xz
Das Problem dabei ist, dass ich möchte, dass xz in der Pipeline ist, anstatt nach dem Aufteilen der Daten. Etwas wie das:
curl "url" | grep "blah" | xz -c > filename.dat.xz
Natürlich wird die Datei dadurch nicht aufgeteilt.
Der Grund, warum ich es in der Pipeline haben möchte, ist, dass ich die Daten herunterlade und die Komprimierung gleichzeitig mit dem Herunterladen anstatt nachher ausführen möchte. (Ich bin mir ziemlich sicher, dass das alles schneller laufen würde, aber wenn ich falsch liege, korrigiere mich.)
Mein Ziel ist also so etwas wie ....
curl "url" | grep "blah" | awk -F '[,/]' '' | xz -c > filename.dat.xz
Aber nicht, weil das offensichtlich nicht funktionieren wird
Wenn Sie eine bessere Lösung für mein Problem haben oder glauben, ich mache etwas völlig Dummes, bin ich flexibel.
awk can do pipes "natively" itself, just like the redirections in the example. I'm not an awk quoting expert, but this matches your example & is reported to work A-OK:
awk -F '[,/]' ''