Bash skripta za lepši izpis prijav
mks1992
Član
Imam problem pri programiranju Bash skripte, ki popravi izpis ukaza last. Skripta naj bi izpisala ime uporabnika, koliko krat je bil prijavljen in koliko časa je bil prijavljen. Z ukazom za zagon skripte naj bi se vnesli dva argumenta. Prvi argument nam pove od katerega datuma gledamo prijave, drugi argument pa do katerega datuma gledamo prijave.
Primer (izgled vpisa):
$ prijava 27/04 06/05
izpis:
janez 2x 0 dni 2:46
luka 4x 0 dni 11:42
mare 2x 0 dni 1:58
lolek 3x 1 dan 18:41
v naprej se zahvaljujem za pomoč.
Primer (izgled vpisa):
$ prijava 27/04 06/05
izpis:
janez 2x 0 dni 2:46
luka 4x 0 dni 11:42
mare 2x 0 dni 1:58
lolek 3x 1 dan 18:41
v naprej se zahvaljujem za pomoč.
Komentarji
Lahk ti damo kak hint...kaj več kot to pa ne boš dobil
imam pa nek "ukaz" ki bi kaj pomagal, kako naj ga uporabim?
last -R |grep -v "reboot"|grep -v "gone" |grep -v "logout" | grep "tty" | tr -s " " | cut -d" " -f1,4,5,9
HVALA!
da dobiš taprave vrednosti iz teh argumentov pa hint - `expr substr ...` ali pa cut -d/ -f...
konec=2011"$konec"000000 | tr -d "/"
Pa še to, zakaj ko dobim iz datoteke imena (samo imena) in potem pošljem skozi pipe in naapišem uniq, se mi ista imena večkrat prikažejo?
lp
Zakaj je potrebn sort - pojma nimam - enostavno dela - sumim pa zato da imaš vsa imena skupaj in nato loči z uniq če je več enakih imen zapored
Slobo sej dela sam pač ti delaš čuda s tim koncem
probaj
konec=2011`echo $1 | tr -d "/"`000000
al pa prvo polje (-f1) katero loči delimiter (-d) '/'
Podal sem konkretne ukaze...ampak samo za bolše razumevanje..sam boš mogu jih prilagodit tako da ustrezajo tvoji nalogi
P.s. upam da ne govoriš meni "vi" ker ne bom več pomagal
mesec= echo $1 | cut -d/ -f2
Če napišem echo "Mesec je $mesec" mi ne izpiše nič
mks1992 poguglaj (uporabi man/help) mal filelock - a ni vam to peer omenjan pri vajah zadnjič?
in nato še eno for zanko do last -t časOD ter odšteješ ta časOD... ni ravno najbolša rešitev ampak dela - preverjeno
kot vidim se fantje na fri-info igrajo z date-om..ta bi se tudi lahk uporabu
Zanima me še kako lahko z grep ukazom izbiramo med dvema parametroma. Naprimer: grep "1" "2" => Če je nekje 1 vzami 1, če pa je nekje 2 pa vzami 2, če pa ni nič od tega pa ne vzami ničesar. Se bi dalo to nardit?
V naprej se zahvaljujem za pomoč.
mks1922 ..to so prve tri črke meseca in predvidevam da se da... z date-om ..kot sem to že napisal zgoraj
za izbiranje med ukazom pa uporabi if?
Samo še vedno me zanima, kako bi spremenil ime oz. kratico za ime meseca v številčno vrednost, ki predstavlja ta mesec.
se pravi prva vrstica ene datoteke in prva vrstica druge datoteke in tako naprej...:/