【发布时间】:2020-04-21 13:05:05
【问题描述】:
我正在尝试打印出来
for i in 0.80 0.85 0.90 0.95 1.00 1.05 1.10 1.15 1.20 1.25 1.30 1.35 1.40; do
awk -v a="$i" '{printf "%10.2f %10.2f\n", a, ($8*627.509)}' e1.txt > e2.txt
done
但是当我打开这个文件时,
1.40 -12111939.85
1.40 -12112479.17
1.40 -12112817.98
1.40 -12112997.55
1.40 -12113047.39
1.40 -12112998.93
1.40 -12112873.57
1.40 -12112695.74
1.40 -12112504.02
1.40 -12112346.74
1.40 -12112316.49
1.40 -12112204.51
1.40 -12112149.56
忽略第二列,因为它读取值并从其他 txt 文件 e1.txt 进行操作。
如图所示,在这种情况下仅使用最后一个 for 循环索引变量。但我希望相应地为每一行打印 0.80 ~ 1.40 的 for 循环值。
【问题讨论】:
-
您的输出重定向会覆盖循环的每次迭代的输出文件。从“awk”行中删除输出重定向并将其添加到“done”行:
done > e2.txt -
将
>更改为>>就可以了。