Я получил решение для моей проблемы от товарища.Вот код.
last | awk '{
if(NF>7){
if($(NF-5)=="Mar"){ # You may change the month or even accept it as a parameter
if($(NF-4) != date){datecount++};
match($(NF-3),/^([0-9]+)/,arr);
if(arr[1]>=8 && arr[1]<=16){
# Note I am using different time interval, change it accordingly
count++;
}
}
date=$(NF-4);
}
}
END{
datecount++;
print "Total logins : ",count;
print "Total dates : ",datecount;
print "Average logins : ",count/datecount;
}'
Я пытался сохранить его как name.sh и запустить его с bash name.sh, я попытался сохранить его name.awk и запустить как awk -f name.awk,но я все еще получаю ту же ошибку:
awk: 1: unexpected character '.'
Я не совсем уверен, что запускаю скрипт так, как должен.
ПРИМЕЧАНИЕ: я работаю на виртуальной машине в Ubuntu 18.04(Думаю) и пытаюсь запустить скрипт через терминал.