簡體   English   中英

如何每五分鍾從CSV解析最后一個值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM