我有一个* .dat文件,它可以递增增长几个小时。我想及时监测一定的价值,以便我可以比较它们,观察它的趋势等等。Bash:存储以
我有什么至今:
LTIME=$(stat -c %Z test2.dat)
while true
do
ATIME=$(stat -c %Z test2.dat)
if [[ "$ATIME" != "$LTIME" ]]
then
grep "15 RT" test2.dat > test_grep2.txt
LTIME=$ATIME
fi
sleep 60
done
哪些更新与* .dat文件中每增加一个人工文本文件。返回东西,如:
15 RT 0.000 0.000 0.000 0.000 0.000 -1.4666E+04
15 RT 0.000 0.000 0.000 0.000 0.000 -1.7073E+04
15 RT 0.000 0.000 0.000 0.000 0.000 -1.9379E+04
15 RT 0.000 0.000 0.000 0.000 0.000 -2.1583E+04
我也有这样一条:
while read line
do [ -z "$line" ] && continue ;echo ${line##* }
done < test_grep2.txt
这需要这样的每一行的最后一个 “字” 的txt到控制台:
1.0225E+04
1.1738E+04
1.3219E+04
1.4668E+04
1.6083E+04
2.4867E+04
2.5943E+04
但我还没有成功将这两个放在一起。这只是不工作(不能打印出最后的“话”作为grep的TXT不断得到更新):
[ -e test_grep.txt ] && rm test_grep.txt
LTIME=$(stat -c %Z test2.dat)
while true
do
ATIME=$(stat -c %Z test2.dat)
if [[ "$ATIME" != "$LTIME" ]]
then
grep -i "15 RT" test.dat > test_grep.txt
LTIME=$ATIME
fi
sleep 5
done
datime=$(stat -c %Z test_grep.txt)
while true
do
datime2=$(stat -c %Z test_grep.txt)
if [[ "$datime2" != "$datime" ]]
then
while read line
do [ -z "$line" ] && continue ;echo ${line##* }
done < test_grep.txt
datime=$datime2
fi
sleep 5
done
而且我相信一定有,使用的临时文件是一个更高效,更优雅的方式。
我可以请求你帮忙吗?找出包含字符串“15 RT”的每一行的最后一个“单词”,并存储它们或保存到文件中供以后比较/评估。而这一切都是“在线”。随着* .dat的不断增长。
非常感谢!
减少问题。 – ceving
好点,谢谢... Althoug有点无用。 – Jewenile
这非常有用,因为它提高了获得答案的机会。 – ceving