Awk
如何使用awk獲取當月每天的登錄次數?
我想知道當月每天有多少使用者登錄到我的伺服器。從每月的第一天開始。最好我想使用 awk 來做到這一點。
我的輸出應該是這樣的:
Apr 1: numOfLogins Apr 2: numOfLogins ... current day: numOfLogins
你可以像下面這樣使用它:
last <user> | awk -v dt="$(date +%b)" '$5==dt{ k[$5$6]+=1; a[$5$6]=$5"-"$6"-"$7 } END { for ( i in k ) { split(a[i],s,"-");print s[1]" "s[2]": "k[i]" No of Logins" } }' | sort -n -k2
對於非特定於使用者:
last | grep -ve reboot -ve wtmp | awk -v dt="$(date +%b)" '$5==dt{ k[$5$6]+=1; a[$5$6]=$5"-"$6"-"$7 } END { for ( i in k ) { split(a[i],s,"-");print s[1]" "s[2]": "k[i]" No of Logins" } }' | sort -n -k2
或者
使用者列表:
last | grep -ve reboot -ve wtmp | awk -v dt="$(date +%b)" '$5==dt{ k[$1$5$6]+=1; a[$1$5$6]=$1"-"$5"-"$6"-"$7 } END { for ( i in k ) { split(a[i],s,"-");print s[1]" "s[2]" "s[3]": "k[i]" No of Logins" } }' | sort -n -k3