一个=
3664938.434
3005450.144
2550000.085
我需要将“a”向量的所有行除以 1000 并保存输出。
答案1
你可以做:
while read num; do echo "scale=3; $num / 1000" | bc; done <file.txt
bash
不支持浮点运算,所以我们需要使用bc
。
根据您的需要更改scale
以适合小数点后的数字。
要将其保存在同一个文件中:
while read num; do echo "scale=3; $num / 1000" | bc; done <file.txt | tee file.txt
答案2
一种awk
方法:
awk '{printf("%f\n",$1/1000)}' file.txt
答案3
还有一种 Perl 方法(假设您将数字存储在一个文件中,每行一个):
perl -lne 'print $_/1000' file
如果您的值存储在 bash 数组中:
perl -lane 'print $_/1000 for @F'<<<"${a[@]}"