Bash
從列表中獲取最後一分鐘的日期行
如果我有一個包含使用者列表及其上次登錄日期的輸入文件,我如何使用
sort | awk
函式選擇最後一分鐘的行?日期以
+%H:%M:%S
格式書寫。例子:
George 12:00:15 Max 12:01:03 Kate 10:32:54 Adam 08:21:47 Andrea 12:00:10
目前日期是
12:01:04
if 函式的結果將是第 1 行、第 2 行和第 5 行
GNU date
和awk
:_awk -F'[ :]+' -v l=$(date -d '1 minutes ago' "+%H:%M") -v c=$(date "+%H:%M") ' $2":"$3==l || $2":"$3==c ' file George 12:33:15 Max 12:33:03 Andrea 12:33:10
使用 GNU awk:
awk 'BEGIN{t=strftime("%T",systime()-60)}$NF >= t'