我需要每五分钟运行一次脚本来解析csv中的值,但不应该一直解析最后一点的所有值。
最佳答案
真的只是在@hek2mgl的建议上加些肉,然后为你实现它。
我将日志文件的最后一个已知长度存储在另一个名为lastlength
的文件中。
#!/bin/bash
LOGFILE=somelog.csv
LASTLEN=lastlength
# Pre-set seek to start of file...
seek=0
# ... but overwrite if there was a previously seen value
[ -f lastlength ] && seek=$(cat lastlength)
echo DEBUG: Starting from offset $seek
# Update last seen length into file - parameters to "stat" will differ on Linux
stat -f "%Dz" "$LOGFILE" > "$LASTLEN"
# Get last line of file starting from previous position
dd if="$LOGFILE" bs=$seek skip=1 2> /dev/null | tail -1
我使用的是osx,因此如果您使用的是linux,那么最后一行
stat
命令的参数可能会有所不同stat -c%s "$LOGFILE" > "$LASTLEN"
我让你把它放在你的crontab里,这样每5分钟就有一次。
关于linux - 如何每五分钟从CSV解析最后一个值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30556598/