1
bash - 一次处理一行输出
我读到xargs很适合一次处理一行命令的输出(并且它是)。我的脚本中有以下行。 ./gen-data | awk '{printf $2 " "; printf $1=$2=$3=""; gsub (" ", "", $0);if(length($0) == 0){ print "0000"} else{print $0}}' | xargs -t -n2 -P1 bash -c 'datatojson "$@"' _ 它产生正确的输出,毫无疑问。然而,gen-data产生类似于1000行的东西,而我真正想要的是这个命令在每一行之后执行,而不是在1000行之后执行(它明显停止以获得更多输入)。 以下是gen-data的样子: candump $interface & while true; do while read p; do cansend $interface $(echo $p | awk 'NF>1{print …