我有一些数据,每一行上都有一系列值,如下所示:
49.01024263 49.13389087 49.38177387 (more numbers...)
42.71585143 43.48711477 44.25625756 (ect..)
43.18826160 43.15332580 43.13094893
30.69076014 28.74489096 26.85725970最后,这些数字达到小于10的值,此时我想删除该行中所有剩余的数字。
到目前为止,我有这个,但它返回了几个错误。
awk '{for (i=1;i++)do{if ($i > 10.0 ) print $i ; next ; else ; exit}}' input > output我做错什么了?有什么更好的方法来完成这个任务吗?
发布于 2013-08-22 09:14:53
试试这句话:
awk '{for(i=1;i<=NF;i++)if($i>10)printf "%s ",$i;else break;print ""}' file用一个例子进行测试:
kent$ cat f
30 20 15 9 8
50 40 30 20 7 2000
100 200 300 400 5 444
kent$ awk '{for(i=1;i<=NF;i++)if($i>10)printf "%s ",$i;else break;print ""}' f
30 20 15
50 40 30 20
100 200 300 400https://stackoverflow.com/questions/18376025
复制相似问题