我有一个配置单元查询,它以指数形式生成一列的和 (3.52504582E+8) . 在sql中,我从rdbms表中获取数值。这两个输出我都写入文件,并在unix中比较两个文件的差异以进行验证检查。有什么方法可以转换吗 3.52504582E+8 至 352504582 是在配置单元中还是在unix级别,以便验证成功?配置单元表总和: 3.52504582E+8 rdbms表总和:352504582 diff <file1> <file2> 验证失败。
(3.52504582E+8)
3.52504582E+8
352504582
diff <file1> <file2>
huwehgph1#
有没有办法在配置单元或unix级别将3.52504582e+8转换为352504582,以便验证成功?
$ printf "%.f\n" 3.52504582E+8 352504582 $ awk '{print $1+0}' <<< "3.52504582E+8" 352504582 $ awk '{printf("%.f\n",$1)}' <<< "3.52504582E+8" 352504582
我需要修改配置单元输出文件中的结果。以上内容是否只打印或进行永久性更改?该文件将有2个字段和~分隔。262至3.52504582e+8
# if this is your input file $ cat infile 262~3.52504582E+8 # result after $ awk 'BEGIN{FS=OFS="~"}{$2+=0}1' infile 262~352504582
说明: FS -输入字段分隔符, OFS -输出字段分隔符,我们设置两者 FS 以及 OFS 作为~ $2+=0 awk在此自动转换 1 最后执行默认操作,即打印当前/记录/行, print $0 . 要想知道awk是怎么工作的, awk '1' infile ,它将打印所有记录/行,而 awk '0' infile 什么也没印。零以外的任何数字都是真的,这将触发默认行为。
FS
OFS
$2+=0
1
print $0
awk '1' infile
awk '0' infile
1条答案
按热度按时间huwehgph1#
有没有办法在配置单元或unix级别将3.52504582e+8转换为352504582,以便验证成功?
我需要修改配置单元输出文件中的结果。以上内容是否只打印或进行永久性更改?该文件将有2个字段和~分隔。262至3.52504582e+8
说明:
FS
-输入字段分隔符,OFS
-输出字段分隔符,我们设置两者FS
以及OFS
作为~
$2+=0
awk在此自动转换1
最后执行默认操作,即打印当前/记录/行,print $0
. 要想知道awk是怎么工作的,awk '1' infile
,它将打印所有记录/行,而awk '0' infile
什么也没印。零以外的任何数字都是真的,这将触发默认行为。