[英]How to parse last value from CSV every five minutes?
我需要運行腳本以每五分鍾從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分鍾調用一次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.