Kezdőoldal » Számítástechnika » Programozás » Shell script programozás? Hogyan?

Shell script programozás? Hogyan?

Figyelt kérdés

Feladat:


Bejelentkezési statisztika

A shell script szűrje a last parancs eredményét, és írja ki hallgatókat csökkenő/növekvő sorrendben az alapján, hogy hányszor jelentkeztek be. Egy másik kapcsolóval azt írja ki, hogy mennyi időt töltöttek el összesen az adott gépen (szintén növekvő/csökkenő sorrendben listázva). Meg lehessen adni, hogy hány darab felhasználót listázzon ki. Pl.:


$>gepido -p n 2

user1 Kiss Jozsef 25 login

user2 Nagy Pal 23 login


$>gepido -t cs 2

login name day:hour:min min

user2 Nagy Pal 01:22:18 3778

user1 Kiss Jozsef 01:12:36 3296


Idáig ennyi van kész:



#! /bin/bash


last | sort | awk -v limit=$3 '

BEGIN{nev="";db_nev=0;db=0}

{

db++

if (db >= limit) {exit 0}

if (nev != $1)

{

print nev" \t"db_nev" \t login"

nev=$1

db_nev=0

}

else

{

db_nev++

}

}

END{}

' | sort -g -r

Tehát csökkenő sorrendbe rendezi, és a harmadik paraméterről beolvassa a limitet is.


Előre is köszönöm!



2014. nov. 24. 18:19
 1/6 anonim ***** válasza:

Miskolci egyetem számiótógép arhitektúrák?: D


Már rengetegen kérdezték. Valahol biztos van válasz.

[link]

2014. nov. 24. 18:37
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:

Elso reszhez:

last | cut -d\ -f1 | sort | uniq -c | sort -rn | head -n 2 | while read x; do n=$(echo $x|cut -d\ -f1);u=$(echo $x|cut -d\ -f2); name=$(grep ^$u /etc/passwd |cut -d: -f5 | cut -d, -f1); if [ -z "$name" ];then name='n/a';fi; echo "$u $name $n login";done


A masodik reszhez inkabb perl-t, vagy python-t hasznalnek, kulonben atlathatalan lesz.


pastebin pont com per 43hRdKwi

2014. nov. 25. 13:34
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:

Nagyon szépen köszönöm! Már csak az a baj, hogy lefuttatom és nem teljesen azt az eredményt adja amit kéne neki,ezt irja:


cut: d:: No such file or directory

cut: d,: No such file or directory


nem tudom esetleg nekem kéne megadnom paramétereket?

2014. nov. 25. 17:02
 4/6 anonim ***** válasza:
Szedd szét szépen parancsokra és nézd meg a kimenetelüket, és korrigálj :)
2014. nov. 25. 18:01
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
Amugy valoszinu awk-val kell megoldani - azt meg nem ismerem
2014. nov. 26. 12:57
Hasznos számodra ez a válasz?
 6/6 after003 válasza:
Azóta sikerült megoldani? Kéne a megoldás xd
2021. nov. 21. 17:43
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!