我想从文件中将第1行划分为第2行,将第2行划分为第4行。但我不能这样做。我在输出文件中得到了这个结果:inf [1] / inf [2] inf [2] * inf [4]。如何将第1行划分为第2行,将第2行划分为第4行?
输入文件:
2233.3000
2190.0508
2172.2361
2189.3050
2199.3000
2193.2461
我的代码:
#!/bin/bash
result="input.xvg"
while read line
do
division=$line[1]/$line[2];
product=$line[2]*$line[4]
echo "$division $product" > output.xvg
done < input.xvg
答案 0 :(得分:1)
bc
是一个方便的程序。mapfile
(创建零索引数组) - ref ${line[1]}
而非$line[1]
- ref #!/bin/bash
mapfile -t line < input.xvg
division=$(bc -l <<< "${line[0]} / ${line[1]}")
product=$(bc -l <<< "${line[1]} * ${line[3]}")
echo "$division $product" > output.xvg