Κυριακή 6 Φεβρουαρίου 2011

2.09 Απαντήστε στις παρακάτω ερωτήσεις


Έστω ότι έχουμε το παρακάτω αρχείο δεδομένων log.data :
admin,01-10-2010,07:30,07:50,4,0
admin,01-10-2010,09:20,10:40,7,-1
makris,01-10-2010,10:10,10:40,3,0
admin,02-10-2010,12:30,14:30,40,0
makris,04-10-2010,10:30,15:30,2,-1
george,05-10-2010,20:30,20:40,1,0
admin,07-10-2010,15:20,17:30,6,0
admin,04-11-2010,10:00,17:30,300,0

Έστω ότι γράφουμε την εντολή : 
awk -F - -f makris.script log.data
1. Δώστε τις τιμές των παρακάτω : 
α) $NF
β) $0
γ) $1
δ) $2
ε) $3
στ) $4 
ζ) $5
η) $6 
θ) $7   
για την δεύτερη γραμμή του αρχείου.
2. Περιγράψτε ακριβώς την σύνταξη της εντολής :
awk -F - -f makris.script log.data

3. Η παραπάνω σύνταξη χωρίζει όλες τις γραμμές του αρχείου σε ίσο αριθμό πεδίων ; περιγράψτε ....

4. Εάν εκτελούσαμε την  awk -F - -f makris.script log.data  
με ποια εντολή θα πέρναμε το όνομα του χρήστη σε κάθε γραμμή ;
 

2.08 Περιγράψτε την κάθε γραμμή των παρακάτω προγραμμάτων ....

Πρόγραμμα 1:
 { if($1=="makris"){
pl++
sum+=$7
}
}
END {print pl,sum}



Πρόγραμμα 2:
{if(NF>0)
split ($2,p,"-")
print p[3]
}


Πρόγραμμα 3:
{split ($3,m,":")
if(m[1]>21 || m[1]<6) xristes[$1]++
}
END{ for(i in xristes)
print i,xristes[i]
}


Πρόγραμμα 4:
{split ($2,p,"-")
if(p[2]<4) xristes[$1]+=$5
}
END{ for(i in xristes)
print i,xristes[i] }



Πρόγραμμα 5:
{split($2,p,"-")
if(p[2]>6)
split($3,t1,":")
split($4,t2,":")
x1=(t2[1]*60+t2[2])-(t1[1]*60+t1[2])
xristes[$1]+=x1
}
END {for (i in xristes)
print i,xristes[i]
}


Πρόγραμμα 6:
{split($2,m,"-")
if (m[2]>6){
split($3,t1,":")
split($4,t2,":")
x1=(t2[1]*60+t2[2])-(t1[1]*60+t1[2])
xristes[$1]+=x1
}
}
END {for(I in xristes)
print I,xristes[I]
}


Πρόγραμμα 7:
{if($1=="makris"){
split($2,m,"-")
split($3,t1,":")
split($4,t2,":")
x1=(t2[1]*60+t2[2])-(t1[1]*60+t1[2])
xristes[m[2]]+=x1
}
}
END {for(i=1;i<=12;i++)
print i,xristes[i]
}

2.07 Τι κάνει ο παρακάτω κώδικας ;

{
if(NF>0) {
split($2,imer,"-")
if(imer[2]<=6 && imer[2]>=1) {
pl[$1]++
split ($3, OR1,":")
split ($4, OR2,":")
L1=OR1[1]*60+OR1[2]
L2=OR2[1]*60+OR2[2]
L=(L2-L1)
XX[$1]+=L
}
if($7>0) TT[$1]++
if($8>0) MM[$1]++
}
}

END{
print
print "Αποτελέσματα "
print "-------------"
for(x in XX) print x, "sindethike :",pl[x], " xronos :",XX[x], " e-mail:",MM[x], " www :",TT[x]
}


Παρασκευή 26 Νοεμβρίου 2010

2.xx Ασκήσεις για λύση ....

1. Εμφανίστε ποιοι χρήστες είχαν τα λιγότερα "stoped" σε όλο το χρόνο καθώς και αυτούς που είχαν τα περισσότερα "stoped"
2. Εμφανίστε για τον χρήστη "makris" πόσα "logout" είχε για κάθε μήνα
3. Εμφανίστε για τον χρήστη admin για την κάθε κατάσταση εξόδου το πλήθος στην διάρκεια του έτους.
4. Εμφανίστε πόσες φορές ο κάθε χρήστης τους τρεις πρώτους μήνες του χρόνου έχουν χρησιμοποιήσει το e-mail.  (το πεδίο $8 πρέπει να είναι 1, το $8 πεδίο εάν είναι 0 δηλώνει ότι δεν χρησιμοποίησε στην σύνδεση του το e-mail. εάν είναι 1 τότε στην σύνδεσή του έχει χρησιμοποιήσει).
5. Εμφανίστε για τον κάθε χρήστη πόσες φορές έχει χρησιμοποιήσει το www και πόσες το e-mail (πεδία $7,$8).
6. Πόσες φορές ο κάθε χρήστης συνδέθηκε το πρώτο εξάμηνο καθώς και τον συνολικό χρόνο σύνδεσης. Εμφανίστε επίσης πόσες φορές στο εξάμηνο ο κάθε χρήστης χρησιμοποίησε το WWW και πόσες το e-mail.
7. Βρείτε και εμφανίστε ποιος χρήστης τους τρεις τελευταίους μήνες του έτους έχει χρησιμοποιήσει περισσότερες φορές το e-mail χωρίς να χρησιμοποιήσει το WWW.

Τα πεδία είναι :
1. Χρήστης
2. Ημερομηνία εισόδου στο σύστημα
3. Ώρα εισόδου
4. Ώρα εξόδου
5. Πλήθος εφαρμογών εκτέλεσης
6. Πλήθος εφαρμογών απόρριψης
7. Χρήση www (0. όχι , 1 ναι)
8. Χρήση e-mail (0. όχι , 1 ναι)
9. Τρόπος αποσύνδεσης από το σύστημα

2.05 Να εμφανίζει για τον κάθε χρήστη πόσες καταστάσεις "stoped" είχε στο σύνολο όλου του χρόνου

{
if(NF>0) if($9=="stoped") user[$1]++
}
END{
for(i in user) print "Ο χρήστης : ",i," είχε  ",user[i]," stoped"
}

Έξοδος προγράμματος :

Ο χρήστης :  dalamitra  είχε   12  stoped
Ο χρήστης :  admin  είχε   8  stoped
Ο χρήστης :  antonis  είχε   12  stoped
Ο χρήστης :  george  είχε   5  stoped
Ο χρήστης :  makris  είχε   5  stoped

2.04 Εμφανίστε τις λιγότερες αλλά και τις περισσότερες συνδέσεις που είχαμε στο σύνολο ενός μήνα

{
split($2,date,"-")
sind[date[2]]++
}
END{
min=sind[1]
max=sind[1]
for(mines=2;mines<=12;mines++) {
if(sind[mines]<min) min=sind[mines]
if(sind[mines]>max) max=sind[mines]
}
print "Λιγότερες Συνδέσεις    : ",min
print "Περισσότερες Συνδέσεις : ",max
}

Έξοδος Προγράμματος :

Λιγότερες Συνδέσεις    :  10
Περισσότερες Συνδέσεις :  23

2.03 Να υπολογίζει και να εμφανίζει για κάθε μήνα τον συνολικό αριθμό συνδέσεων

{
split($2,date,"-")
sind[date[2]]++
}
END{
for(mines=1;mines<=12;mines++) {
print "Μήνας :",mines "  Συνδέσεις =",sind[mines]
}
}


Έξοδος Προγράμματος :


Μήνας : 1  Συνδέσεις = 19
Μήνας : 2  Συνδέσεις = 15
Μήνας : 3  Συνδέσεις = 14
Μήνας : 4  Συνδέσεις = 10
Μήνας : 5  Συνδέσεις = 18
Μήνας : 6  Συνδέσεις = 16
Μήνας : 7  Συνδέσεις = 14
Μήνας : 8  Συνδέσεις = 13
Μήνας : 9  Συνδέσεις = 23
Μήνας : 10  Συνδέσεις = 16
Μήνας : 11  Συνδέσεις = 15
Μήνας : 12  Συνδέσεις = 15

2.02 Να υπολογίζει και να εμφανίζει για κάθε μήνα ο χρήστης admin πόσες φορές συνδέθηκε στο σύστημα και τον συνολικό χρόνο παραμονής στο σύστημα το μήνα αυτό

{
if($1=="admin") {
split($2,date,"-")
sind[date[2]]++
split ($3, OR1,":")
split ($4, OR2,":")
L1=OR1[1]*60+OR1[2]
L2=OR2[1]*60+OR2[2]
X[date[2]]+=(L2-L1)
}
}
END{
for(mines=1;mines<=12;mines++) {
print "Μήνας :",mines
print "Syndeseis =",sind[mines]
print "sunolikos xronos =",X[mines]
ores = int(X[mines]/60)
lep = X[mines] % 60
print "Ores = ",ores," lepta = ",lep
print "================================="
}
}


Το πρόγραμμα έχει έξοδο :

Μήνας : 1
Syndeseis = 4
sunolikos xronos = 1156
Ores =  19  lepta =  16
=================================
Μήνας : 2
Syndeseis = 4
sunolikos xronos = 1416
Ores =  23  lepta =  36
=================================
Μήνας : 3
Syndeseis = 4
sunolikos xronos = 1051
Ores =  17  lepta =  31
=================================
Μήνας : 4
Syndeseis = 1
sunolikos xronos = 360
Ores =  6  lepta =  0
=================================
Μήνας : 5
Syndeseis = 4
sunolikos xronos = 826
Ores =  13  lepta =  46
=================================
Μήνας : 6
Syndeseis = 5
sunolikos xronos = 2404
Ores =  40  lepta =  4
=================================
Μήνας : 7
Syndeseis = 2
sunolikos xronos = 584
Ores =  9  lepta =  44
=================================
Μήνας : 8
Syndeseis = 3
sunolikos xronos = 665
Ores =  11  lepta =  5
=================================
Μήνας : 9
Syndeseis = 7
sunolikos xronos = 1004
Ores =  16  lepta =  44
=================================
Μήνας : 10
Syndeseis = 3
sunolikos xronos = 814
Ores =  13  lepta =  34
=================================
Μήνας : 11
Syndeseis = 2
sunolikos xronos = 427
Ores =  7  lepta =  7
=================================
Μήνας : 12
Syndeseis = 5
sunolikos xronos = 2590
Ores =  43  lepta =  10
=================================

Τετάρτη 24 Νοεμβρίου 2010

Τρίτη 23 Νοεμβρίου 2010

2.00 Δίνεται το παρακάτω αρχείο (log)

antonis,3-10-2010,16:55,19:59,3,2,0,0,stoped
george,18-6-2010,7:58,17:59,14,3,0,0,timeout
dalamitra,6-11-2010,11:29,13:41,11,8,0,0,stoped
antonis,10-2-2010,0:53,16:54,10,5,1,1,stoped
makris,8-1-2010,15:20,21:38,19,7,1,0,no connection
admin,25-6-2010,21:49,23:49,12,8,1,1,timeout
dalamitra,20-10-2010,14:48,16:49,5,1,1,1,stoped
makris,27-4-2010,13:59,20:59,13,8,1,1,logout
makris,9-7-2010,11:34,23:38,6,2,0,1,stoped
antonis,1-8-2010,3:41,21:47,3,2,1,1,timeout
admin,19-5-2010,20:25,23:25,2,1,1,0,logout
dalamitra,16-7-2010,11:34,20:44,9,2,1,0,timeout
admin,8-11-2010,20:38,23:38,16,11,0,1,no connection
dalamitra,6-1-2010,1:7,9:29,14,0,0,0,timeout
antonis,1-1-2010,11:41,17:52,15,1,1,0,stoped
admin,25-8-2010,21:26,23:37,11,3,1,1,no connection
george,24-9-2010,18:20,20:35,9,7,1,1,timeout
dalamitra,2-11-2010,6:0,22:14,3,0,1,0,timeout
admin,1-8-2010,15:2,18:55,4,0,1,0,no connection
admin,25-6-2010,15:8,22:35,6,1,0,1,timeout
antonis,28-1-2010,23:9,23:34,11,0,0,1,stoped
dalamitra,9-11-2010,8:10,23:15,15,4,1,0,stoped
george,17-1-2010,15:41,23:47,6,2,1,1,no connection
admin,4-12-2010,23:41,23:59,7,1,0,0,logout
antonis,22-10-2010,0:24,16:50,9,4,1,1,stoped
antonis,3-2-2010,19:16,22:47,0,0,0,0,stoped
antonis,7-8-2010,20:22,20:58,1,0,0,1,no connection
antonis,1-3-2010,12:30,19:41,13,2,1,0,logout
admin,10-5-2010,10:30,16:30,8,1,0,1,logout
makris,15-3-2010,22:27,22:28,1,0,1,1,stoped
dalamitra,28-7-2010,0:42,13:57,12,11,0,0,logout
dalamitra,10-9-2010,23:39,23:43,9,3,1,1,timeout
george,23-2-2010,15:24,17:57,9,7,0,1,stoped
george,22-8-2010,5:18,10:20,16,8,0,1,stoped
makris,27-6-2010,6:47,6:47,18,4,0,1,stoped
admin,1-6-2010,0:20,13:53,11,2,0,1,logout
dalamitra,7-11-2010,13:3,14:7,3,1,0,1,logout
admin,13-11-2010,13:32,17:39,13,12,0,1,logout
george,26-12-2010,22:21,22:21,8,3,0,0,logout
dalamitra,27-8-2010,22:43,23:54,10,3,0,1,timeout
admin,18-8-2010,14:15,19:16,8,1,1,1,no connection
george,23-5-2010,8:56,8:56,7,5,1,1,timeout
admin,13-5-2010,16:6,16:8,0,0,1,1,no connection
dalamitra,4-12-2010,16:53,17:54,2,1,1,1,no connection
admin,3-10-2010,18:19,22:46,0,0,0,1,logout
admin,17-6-2010,1:10,9:14,11,8,1,0,timeout
dalamitra,28-7-2010,10:43,13:50,4,0,1,1,timeout
antonis,20-4-2010,8:13,17:48,13,2,0,0,logout
george,26-10-2010,10:16,13:18,17,3,1,1,timeout
admin,7-2-2010,16:42,19:43,9,2,0,1,logout
george,20-11-2010,20:57,23:59,13,5,0,1,timeout
makris,18-11-2010,1:58,14:58,18,15,0,1,timeout
george,23-10-2010,3:44,23:54,7,3,1,1,logout
dalamitra,25-9-2010,3:42,21:58,19,10,1,0,stoped
dalamitra,5-1-2010,9:26,14:39,15,1,1,1,no connection
makris,2-9-2010,17:6,18:38,9,8,0,0,timeout
dalamitra,3-1-2010,5:29,23:34,3,1,1,1,timeout
antonis,27-1-2010,22:56,23:56,4,1,1,0,timeout
makris,21-1-2010,2:33,16:59,15,9,0,1,timeout
admin,7-9-2010,19:23,19:27,18,8,0,0,logout
dalamitra,28-5-2010,3:36,10:50,2,1,1,0,stoped
antonis,4-6-2010,21:41,22:59,3,2,0,1,stoped
admin,25-6-2010,1:59,10:59,10,3,0,0,logout
makris,8-5-2010,20:51,22:52,11,4,1,0,timeout
makris,27-10-2010,22:17,22:19,16,7,0,1,timeout
dalamitra,2-6-2010,15:52,17:58,3,2,0,0,timeout
makris,4-8-2010,22:28,22:53,7,3,0,0,timeout
dalamitra,14-6-2010,10:24,12:41,11,7,1,1,no connection
dalamitra,4-11-2010,12:19,19:45,6,3,1,0,timeout
admin,28-1-2010,19:47,22:51,3,0,1,1,logout
makris,4-11-2010,1:7,4:39,8,6,0,0,stoped
dalamitra,12-7-2010,15:45,18:58,3,1,0,1,logout
admin,20-7-2010,8:12,15:27,17,5,1,0,stoped
admin,7-10-2010,14:18,22:23,17,16,1,1,stoped
makris,28-11-2010,2:53,13:59,14,8,0,1,timeout
dalamitra,14-9-2010,0:36,0:44,18,9,0,1,timeout
george,13-2-2010,19:51,20:57,11,6,1,0,stoped
dalamitra,21-10-2010,17:48,17:54,19,9,1,1,no connection
antonis,1-3-2010,7:45,17:58,18,9,0,0,no connection
dalamitra,17-5-2010,22:13,23:57,3,0,1,0,stoped
makris,7-7-2010,13:1,21:32,2,0,1,1,no connection
george,14-12-2010,16:15,19:37,12,9,0,0,no connection
admin,24-10-2010,12:57,13:59,4,2,0,0,timeout
makris,27-6-2010,12:57,15:59,8,1,1,1,no connection
dalamitra,20-11-2010,14:24,20:54,6,4,1,1,logout
admin,26-3-2010,16:11,20:57,16,3,0,0,no connection
dalamitra,14-5-2010,11:57,20:57,7,2,0,1,no connection
admin,27-12-2010,2:32,21:46,4,1,0,0,no connection
makris,22-1-2010,9:10,20:17,17,0,0,1,timeout
admin,28-9-2010,16:55,22:56,8,4,0,1,logout
dalamitra,5-7-2010,3:27,15:57,1,0,1,1,logout
george,12-9-2010,22:5,23:53,12,5,1,1,timeout
makris,12-3-2010,11:28,18:37,16,13,0,1,logout
antonis,15-12-2010,22:32,22:52,2,0,1,1,stoped
george,4-4-2010,7:12,8:54,7,2,1,1,no connection
admin,2-3-2010,21:50,21:58,5,4,0,0,logout
makris,12-11-2010,14:15,22:55,10,1,0,1,logout
makris,9-7-2010,2:3,23:48,5,3,1,0,logout
george,25-10-2010,2:43,5:49,15,4,0,0,timeout
antonis,21-9-2010,23:51,23:52,5,0,1,1,no connection
dalamitra,5-4-2010,21:59,21:59,17,13,0,0,stoped
antonis,6-1-2010,13:33,19:56,17,9,1,0,no connection
admin,18-9-2010,17:57,20:57,18,2,1,0,no connection
george,12-10-2010,23:12,23:39,4,3,0,1,no connection
george,11-2-2010,16:52,23:54,0,0,0,1,logout
admin,24-9-2010,23:21,23:37,14,4,0,1,stoped
dalamitra,6-7-2010,6:46,7:54,2,1,1,0,no connection
dalamitra,23-4-2010,22:11,22:51,12,11,0,0,stoped
antonis,7-5-2010,11:48,19:48,3,2,0,0,timeout
admin,25-12-2010,23:8,23:46,4,0,0,1,timeout
dalamitra,28-9-2010,17:23,17:30,16,10,0,1,stoped
dalamitra,17-2-2010,0:9,10:42,17,8,0,0,no connection
george,4-8-2010,12:50,20:57,18,15,1,1,logout
george,15-5-2010,8:15,11:22,10,2,1,1,timeout
antonis,18-9-2010,21:43,22:47,5,3,1,0,timeout
george,16-7-2010,17:8,19:16,0,0,1,1,logout
makris,19-12-2010,12:27,15:30,15,10,0,1,logout
dalamitra,14-12-2010,1:46,15:52,13,6,0,1,stoped
antonis,12-2-2010,17:29,18:44,14,9,1,0,stoped
admin,28-4-2010,17:19,23:19,1,0,0,0,no connection
makris,26-11-2010,19:22,19:24,0,0,0,1,timeout
antonis,15-3-2010,19:55,23:57,14,9,0,0,no connection
george,14-8-2010,12:27,16:41,6,2,1,1,stoped
admin,8-2-2010,7:10,11:52,14,6,0,1,no connection
makris,7-6-2010,19:3,21:7,18,16,1,0,logout
admin,5-9-2010,22:8,22:49,12,7,1,1,logout
admin,3-7-2010,6:16,8:45,0,0,1,0,no connection
makris,17-12-2010,18:23,21:52,4,2,1,1,no connection
antonis,18-2-2010,3:47,4:51,9,2,1,1,timeout
george,27-1-2010,4:30,14:38,18,0,0,0,no connection
george,8-4-2010,5:30,22:48,17,6,0,0,no connection
makris,26-12-2010,4:43,21:58,19,16,1,1,no connection
dalamitra,26-9-2010,12:33,21:34,13,2,1,0,timeout
dalamitra,9-6-2010,20:56,20:58,8,1,1,1,no connection
admin,18-1-2010,13:19,16:28,3,2,0,1,stoped
george,3-8-2010,18:17,23:53,18,5,1,0,no connection
makris,23-10-2010,19:19,22:34,8,2,0,0,timeout
dalamitra,17-3-2010,13:37,21:56,13,12,0,0,no connection
antonis,21-4-2010,0:13,12:25,15,13,0,1,timeout
dalamitra,2-4-2010,10:2,13:41,5,3,1,1,timeout
antonis,14-1-2010,14:13,16:41,12,5,0,1,logout
admin,13-9-2010,12:10,17:32,7,3,1,0,timeout
dalamitra,11-10-2010,19:35,19:40,5,2,0,1,logout
makris,11-10-2010,3:36,17:45,19,17,1,1,timeout
antonis,22-9-2010,17:11,19:24,17,13,0,0,stoped
makris,5-5-2010,17:8,22:36,9,6,1,0,timeout
dalamitra,21-3-2010,14:11,16:18,13,10,1,0,no connection
george,22-5-2010,14:15,22:22,19,3,0,1,timeout
makris,16-7-2010,1:21,17:23,18,4,0,1,timeout
george,22-2-2010,0:18,0:26,5,2,1,1,timeout
dalamitra,3-2-2010,10:27,21:59,12,3,1,0,stoped
admin,28-3-2010,11:18,20:55,12,7,0,1,timeout
dalamitra,9-9-2010,10:58,10:59,19,18,0,0,timeout
admin,27-5-2010,13:7,17:51,9,2,1,0,stoped
george,20-4-2010,4:52,5:57,2,1,0,0,timeout
antonis,23-11-2010,3:37,14:49,3,0,0,1,stoped
george,16-7-2010,2:11,16:29,6,0,0,0,no connection
dalamitra,8-5-2010,5:3,23:5,16,6,1,1,logout
admin,2-3-2010,14:56,17:56,3,1,0,0,timeout
dalamitra,3-3-2010,19:37,22:40,14,8,0,1,stoped
makris,12-1-2010,12:10,15:38,15,3,0,0,stoped
dalamitra,2-9-2010,20:7,21:40,17,0,1,0,logout
admin,7-9-2010,20:28,21:48,5,1,1,0,stoped
antonis,7-9-2010,2:11,9:11,13,11,0,0,no connection
antonis,7-5-2010,15:12,21:59,18,7,0,1,timeout
george,6-3-2010,23:13,23:14,12,0,0,1,no connection
admin,2-12-2010,2:16,22:16,8,3,0,0,no connection
george,16-6-2010,13:18,15:57,16,13,1,0,timeout
antonis,6-1-2010,7:5,10:42,14,13,1,0,stoped
dalamitra,23-10-2010,11:41,16:43,11,0,1,1,timeout
admin,24-2-2010,23:11,23:49,19,2,1,0,logout
dalamitra,3-8-2010,20:29,23:51,6,4,0,0,no connection
admin,6-1-2010,1:33,5:35,14,6,1,0,timeout
george,9-5-2010,20:44,21:48,6,3,0,0,stoped
george,4-6-2010,10:39,18:55,3,1,0,1,logout
admin,10-12-2010,6:59,9:59,16,8,1,0,stoped
antonis,10-8-2010,15:53,19:56,13,11,1,1,timeout
dalamitra,17-2-2010,10:3,17:48,12,4,1,0,no connection
george,4-9-2010,16:31,16:41,13,12,0,1,timeout
george,12-3-2010,4:42,9:46,12,5,1,1,no connection
admin,1-2-2010,7:44,22:59,11,7,0,1,stoped
george,27-12-2010,0:11,4:43,2,1,0,0,timeout
george,1-5-2010,1:20,23:46,5,0,1,1,no connection
admin,3-1-2010,4:56,13:57,5,0,0,1,no connection
george,14-5-2010,2:57,4:59,10,5,0,1,logout
makris,11-12-2010,13:12,14:41,10,2,1,1,timeout
dalamitra,2-6-2010,3:59,4:59,0,0,1,1,logout
antonis,12-9-2010,18:55,23:59,12,5,1,1,logout

Δευτέρα 22 Νοεμβρίου 2010

08. Να βρίσκει και να εμφανίζει ποιος χρήστης έχει συνδεθεί περισσότερες φορές στο σύστημα και πόσες ήταν αυτές

{
if(NF>0) {
xristes[$1]++
}
}
END{
max=0
for(i in xristes)
       if(xristes[i]>max) {
       max=xristes[i]
       xristismax=i }
print "Ο χρήστης με τις περισσότερες συνδέσεις είναι ο :",xristismax
print "και έχει :",max, " συνδέσεις"
}

07. Εμφανίστε για τον κάθε χρήση σε κάθε σύνδεση πόσα λεπτά έχει μείνει συνδεδεμένος και στο τέλος τα συνολικά λεπτά του κάθε χρήστη (μετά την εμφάνιση των συνολικών λεπτών να εμφανίζονται οι ώρες και τα λεπτά που αντιστοιχούν).

{
 if (NF>0){
split ($3, OR1,":")
split ($4, OR2,":")
L1=OR1[1]*60+OR1[2]
L2=OR2[1]*60+OR2[2]
L=L2-L1
XX[$1]+=L
H=int(L/60)
M=L%60
print $1,"Συνολικά Λεπτά=",L,"που αντιστοιχούν σε ώρες :",H,"Λεπτά :",M }
}
END {
print
print "Αποτελέσματα "
print "-------------"
for(x in XX) {
H=int(XX[x]/60)
M=XX[x]%60
print "Χρήστης :",x, "Συνολικός Χρόνος σε λεπτά :",XX[x],"και αναλυτικά : Ωρες=",H," Λεπτά =",M
}
}

06. Εμφανίστε για τον κάθε χρήση σε κάθε σύνδεση πόσα λεπτά έχει μείνει συνδεδεμένος και στο τέλος τα συνολικά λεπτά του κάθε χρήστη

{
 if (NF>0){
split ($3, OR1,":")
split ($4, OR2,":")
L1=OR1[1]*60+OR1[2]
L2=OR2[1]*60+OR2[2]
L=L2-L1
XX[$1]+=L
print $1,L }
}
END {
print
print "Αποτελέσματα "
print "-------------"
for(x in XX) print "Χρήστης :",x, "Συνολικός Χρόνος :",XX[x]
}

05. Εμφανίστε για τον κάθε χρήση σε κάθε σύνδεση πόσα λεπτά έχει μείνει συνδεδεμένος

{
 if (NF>0){
split ($3, OR1,":")
split ($4, OR2,":")
L1=OR1[1]*60+OR1[2]
L2=OR2[1]*60+OR2[2]
L=L2-L1
print $1,L }
}

04. Βρείτε για τον κάθε χρήστη πόσες φορές έχει κάνει login τον μήνα Οκτώβριο

{
if(NF>0) {
split($2,imer,"-")
if(imer[2]==10) pl[$1]++
}
}
END{
for(xristes in pl) print "Xristis :",xristes,"Sindeseis :",pl[xristes]
}

03. Βρείτε για τον κάθε χρήστη πόσες φορές έχει κάνει login

{
if(NF>0) {
xristes[$1]++
}
}
END{
for(i in xristes) print i,xristes[i]
}

02. Βρείτε για τον κάθε χρήστη τις αστοχίες του καθώς και το συνολικό πλήθος

{
if($6<0 && NF>0) {
astox[$1]++
plithos++
}
}
END{
print "Sinolikes astoxies:",plithos
for(xristes in astox) print xristes,astox[xristes]
}

01. Βρείτε τις συνολικές αστοχίες των login που περιέχει το αρχείο

BEGIN{
}
{
if($6<0 && NF>0) {
print $0
astox++
}
}
END{
print "Sinolikes astoxies:",astox
}

00. Δεδομένα για επεξεργασία

admin,01-10-2010,07:30,07:50,4,0
admin,01-10-2010,09:20,10:40,7,-1
makris,01-10-2010,10:10,10:40,3,0
admin,02-10-2010,12:30,14:30,40,0
makris,04-10-2010,10:30,15:30,2,-1
george,05-10-2010,20:30,20:40,1,0
admin,07-10-2010,15:20,17:30,6,0
admin,04-11-2010,10:00,17:30,300,0