Você pode tentar o mesmo comando, desta vez usando vários hacks para evitar o armazenamento em buffer :
./gen-data | gawk '{printf $2 " "; printf $1=$2=$3=""; gsub (" ", "", $0);if(length($0) == 0){ print "0000"} else{print $0}; fflush(stdout)}' | stdbuf -o0 xargs -t -n2 -P1 bash -c 'datatojson "$@"' _
Considere a mudança de awk
para gawk
e o uso de fflush
. Você também pode tentar mawk -Winteractive
.
Lembre-se também que adicionei stdbuf -o0
antes dos xargs. Você também pode tentar o mais recente no início com ./gen-data