我需要运行脚本来每隔五分钟从csv解析一次值,但是不应该从最后一点解析所有值。
答案 0 :(得分:1)
真的只是在@ 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分钟就会调用一次。