我有一个awk脚本,该脚本检查文件中的所有负值并使用abs值更改它们。
awk 'BEGIN {OFS=FS="\t"} function abs(x) {return ((x < 0.0) ? -x : x)} {
for (column = 1; column <= NF; ++column) {
if ($column ~ /[0-9]/ && $column < 0.0) {
sub($column, abs($column))
}
}
print
}'
在文件中,所有值都表示为示例-1000.0的浮点数,但是执行awk命令后,我得到的是1000,而不是1000.0。
mask
在子项上使用:
sub(sprintf("%d",$column), abs($column))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句