我有2个文件:
a.txt
:
0.513603
0.513141
0.513141
0.513046
0.513263
0.512889
0.512889
0.512097
0.51112
0.511863
b.txt
:
0.5132405
0.51319025
0.51311625
0.51305325
0.512903125
0.512516625
0.5121205
0.5118095
0.511543
0.511598125
我想知道从两个文件到相应行的%更改。我无法想到如何使用Shell脚本实现它。每两个文件中将生成每5分钟一次的数据,但每次都不会有两个文件中的记录相同。
示例:
(0.513603 - 0.5132405)/100
答案 0 :(得分:0)
使用下面的代码。但唯一的事情是你将在/ tmp / b文件中没有数据结束。在我的情况下它是好的,因为/ tmp / b将在5分钟后再次生成。
while IFS='' read -r line || [[ -n "$line" ]]; do
line2=`head -1 /tmp/b`
sed -i '1d' /tmp/b
// do processing between line and line2 whatever you want
done < /tmp/a
答案 1 :(得分:0)
IIUC,这就是你要找的东西
a=($(<a.txt))
b=($(<b.txt))
for i in for i in "${!a[@]}"
do
printf '100\n%f\n%f\n-\n*\np\n' ${a[i]} ${b[i]} | dc
done
将2个文件读入数组,然后使用dc
进行浮点运算。
答案 2 :(得分:0)
e=1
将两个文件放在一起,使用paste
将这两个值更改为正确的计算,然后让sed
计算
bc