Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2005-01-22 08:45:48

  _sutzo - Użytkownik

_sutzo
Użytkownik
Skąd: Gdańsk
Zarejestrowany: 2005-01-22

sed /skrypt

Witam a wiec mam napisac skrypt ktory znajdzie wszystkich uzytkownikow systemu ich full name i ostatnie 5 logowan... a to wszystko do pliku html [tabelka] jak narazie mam uzytkownikow i ich full name.. :
#!/bin/bash
grep -e root -e home /etc/passwd | sed -e 's/:*.//g' | cat -n > uzytko.txt
grep -e root -e home /etc/passwd > fname.txt
cat fname.txt | cut -f 5 --delimiter=: | cut -f 1 --delimiter=, | cat -n > fname.txt
echo "<.center><.table><.tr><.td>" > skrypt2.html
echo "Uzytkownicy:<.br>" >> skrypt2.html
cat uzytko.txt | tr "rn" "%" | sed s/"%"/"<br>"/g >> skrypt2.html
echo "</.td><.td>" >> skrypt2.html
echo "Full Name:<.br>" >> skrypt2.html
cat fname.txt | tr "rn" "%" | sed s/"%"/"<br>"/g >> skrypt2.html
echo "</.td></.tr></.table>" >> skrypt2.html
ale szczerze mowiac nie podoba mi sie to.. bo w tabelce sa same kolumny.. i jak bedzie zadluga nazwa to sie kolejnosc zwali... nie wiem jak zrobic logowania.. i ogole mysle zeby to zrobic w petli.. ale jak..
Dziekuje za wszelkie odpowiedzi i przepraszam za moj brak wiedzy.. w koncu jestem tylko [i]woznym..[/i] :P[/i]

Offline

 

#2  2005-01-22 20:19:45

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: sed /skrypt

Ten skrypt w ogóle działa? Odpalilem tego htmla i to co mam:

Uzytkownicy:    Full Name:
1                      1 root
2                      2   
3                      3
4                      4

Co do tabeli to nie czaje czemu miałaby sie zwalić jak nazwa bedzie za długa (to i tabela bedzie miała wiekszą komórke). Ostatnie logowania użytkowników pokaże Ci polecenie last, trzeba tylko wyciagnąć konkretne informacje. Dobrze byłoby napisać to w php zamiast męczyć sie z bashem.

Offline

 

#3  2005-01-23 18:49:09

  _sutzo - Użytkownik

_sutzo
Użytkownik
Skąd: Gdańsk
Zarejestrowany: 2005-01-22

Re: sed /skrypt

niestety takie sa wymogi ze ma byc w html :P
a co do dzialania skryptu to fakt musialem cos zle przepisac.. :-/
ale i tak chcialbym to zrobic w petli.. zeby kazdy uzytkownik mial wlasna komorke tabeli.. co do logowan wiem ze mam korzystac z last ale nie wiem jak wstawic tam login uzytkownika systemu..






P.s.
Czy moglbym zostac zapisany do grupy dug??:> sa jakies wymogi ?? ;-)

Offline

 

#4  2005-01-23 19:47:15

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: sed /skrypt

Własnie dlatego że ma być to html wygodnie jest to napisać w php :) Kod php przeparsowany przez serwer www z obsługą php daje htmla. A wygodniej z tego wzgledu, że język podobny do c/c++, nie trzeba pisać w bashu :) no i na php.net jest świetna dokumentacjia po polsku.  Co do zapisania się nie ma wymogów. No ale przydałoby sie żebyś używał debiana.

Offline

 

#5  2005-01-23 20:42:01

  _sutzo - Użytkownik

_sutzo
Użytkownik
Skąd: Gdańsk
Zarejestrowany: 2005-01-22

Re: sed /skrypt

oczywiscie ze uzywam...  :-)
ide popisac ten skrypcik moze cos wymysle.. a co do php to nie znam.. :P ma byc tak jak mi napisal pan od cwiczen... :-/

Offline

 

#6  2005-01-23 22:42:27

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: sed /skrypt

Myślałem że piszesz na własny użytek, ale skoro pan od ćwiczeń chce w bashu, to widocznie uczy was basha, a nie php. :)

Offline

 

#7  2005-01-23 23:25:00

  Guest - Gość

Guest
Gość

Re: sed /skrypt

a no ten pan to taki pan jak kazdy inny jak student ma pytanie z poza programu tematow.. to zawsze... nie wiem :-/ a czeka mnie jeszcze drugi skrypt.. :D z awk ale nie znam jego tresci

 

#8  2005-01-23 23:31:59

  rychu - elektryk dyżurny

rychu
elektryk dyżurny
Skąd: gdańsk
Zarejestrowany: 2004-12-28

Re: sed /skrypt

hej sutzo jesteś z nowego portu czy jak? i chodzisz na polibudę?


linux regd. user #248790

Offline

 

#9  2005-01-24 08:29:16

  _sutzo - Użytkownik

_sutzo
Użytkownik
Skąd: Gdańsk
Zarejestrowany: 2005-01-22

Re: sed /skrypt

Z nowego tak z polibudy niet... ja chodze do wsz na zabiance..

Offline

 

#10  2005-01-24 13:04:04

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: sed /skrypt

Masz tu kawalek skrypta....

Kod:

#!/bin/bash
cat /etc/passwd |grep /bin/bash | cut -d: -f 1,3,5 | cut -d: -f1,3 | awk '{printf $1; printf " "; print $2}' | sed "s/:/ /" |sed "s/,//" |sed "s/,//" |sed "s/,//"  > user.s
echo "<HTML>" > login.html
echo " <CENTER>" >> login.html
echo "<TABLE>" >> login.html
echo " <TR>" >> login.html
echo "  <TD>" >> login.html
echo "    <CENTER><B> Login uzytkownika <BR>i pelna nazwa </B></CENTER>" >> login.html
echo "  </TD>" >> login.html
echo "  <TD>" >> login.html
echo "    <CENTER><B> Ostatnie 5 logowan </B></CENTER>" >> login.html
echo "  </TD>" >> login.html
echo " </TR>" >> login.html

grep -E -v "^#|^$"  user.s |while read login nazwa;
do
    echo " <TR>" >> login.html
    echo "  <TD>" >> login.html
    echo "     Login: <CODE><B>$login</B></CODE> <BR> Nazwa: <CODE><B>$nazwa</B></CODE>" >> login.html
    echo "  </TD>" >> login.html
    echo "  <TD>" >> login.html
    echo "  <PRE>" >> login.html
    last -a -n 5 $login |grep $login >> login.html
    echo "  </PRE>" >> login.html
    echo "  </TD>" >> login.html
    echo " </TR>" >> login.html
done

echo " </TABLE>" >> login.html
echo " </CENTER>" >> login.html

a oto przykladowy wynik dzialania
http://biexi.dug.net.pl/login.html


[url=http://dug.net.pl][b]DUG[/b][/url]

Offline

 

#11  2005-01-24 14:03:26

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: sed /skrypt

No ładny skrypcik. Ktoś tu wisi BiExi browara :)

Offline

 

#12  2005-01-24 20:17:03

  _sutzo - Użytkownik

_sutzo
Użytkownik
Skąd: Gdańsk
Zarejestrowany: 2005-01-22

Re: sed /skrypt

omg i to nie jednego browara... :-) moze dobre wino?? dziekuje Biexi... chyle czola.. teraz tylko to musze przestudiowac :-)

Offline

 

#13  2005-01-24 20:52:12

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: sed /skrypt

Ja lubie dobre wino :]
Staralm sie jak napjprsciej to napisac jak z zrozumieniem czegos bedziesz mial problemy to pytaj....

A tak na marginesie bash byl pierwszym jezykiem programowania (jezykiem skryptowym) ktorego poznalam pracujac pod linuxem teraz walcze z perl'em i ucze sie C i corazbardziej mnie to wciaga :]


[url=http://dug.net.pl][b]DUG[/b][/url]

Offline

 

#14  2005-01-24 21:01:24

  _sutzo - Użytkownik

_sutzo
Użytkownik
Skąd: Gdańsk
Zarejestrowany: 2005-01-22

Re: sed /skrypt

Hmmm c++ mam za soba... :-) perl.. hmmmm nie znam ;-) a co do linuxa dzis mialem zerowke i poleglem chyba... strasznie koles sie wygryzl z nim... [tak apropo mam wyklady z autorem cdlinux'a hahahaha panim kaczmarkiem lol ]
co do linijek nie zabardzo rozumiem:
cat /etc/passwd |grep /bin/bash |
cut -d: -f 1,3,5 | cut -d: -f1,3 | awk '{printf $1; printf " "; print $2}' | sed "s/:/ /" |sed "s/,//" |sed "s/,//" |sed "s/,//"  > user.s

grep -E -v "^#|^$"  user.s |while read login nazwa;

wiem co z czym sie je sed i awk... grep tez... ale nie rozumiem dokladnie : "^#|^$" ... i to chyba wsio...


//
najgorsze przedemna... assembler.. do piatku mam zrobic dwa zadania na dsm51... straszne..
//

Offline

 

#15  2005-01-24 21:14:23

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: sed /skrypt

znam speca od ukladow 8051 tez mugl by Ci pomuc :]
a wyjasnienia puzniej bo narazie musze isc jednego kompa zrobic........


[url=http://dug.net.pl][b]DUG[/b][/url]

Offline

 

#16  2005-01-24 22:09:07

  _sutzo - Użytkownik

_sutzo
Użytkownik
Skąd: Gdańsk
Zarejestrowany: 2005-01-22

Re: sed /skrypt

oooj taka kobiete to ze swieczka szukac :-)
ok ok ja cierpliwy i czekac bede

Offline

 

#17  2005-01-24 23:27:13

  rychu - elektryk dyżurny

rychu
elektryk dyżurny
Skąd: gdańsk
Zarejestrowany: 2004-12-28

Re: sed /skrypt

najgorsze przedemna... assembler[/quote]no to możemy sobie ręce podać - w następnym semestrze mam mnieć przedmiot o wdzięcznej nazwie 'programowanie mikrokontrolerów' czy jakoś tak. no i do tego dojdzie VHDL i inne takie cuda. moja głowa...


linux regd. user #248790

Offline

 

#18  2005-01-25 08:40:42

  _sutzo - Użytkownik

_sutzo
Użytkownik
Skąd: Gdańsk
Zarejestrowany: 2005-01-22

Re: sed /skrypt

no ja wlasnie mamw  tym semestrze... tyle ze u mnie sie nazywa... Techniki Mikroprocesorowe... lol :-)

Offline

 

#19  2005-01-25 09:40:42

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: sed /skrypt

A Wiec co do linijki

Kod:

cat /etc/passwd |grep /bin/bash | cut -d: -f 1,3,5 | cut -d: -f1,3 | awk '{printf $1; printf " "; print $2}' | sed "s/:/ /" |sed "s/,//" |sed "s/,//" |sed "s/,//" > user.s 

w sumie mozna bybylo jeszcze trochw zobtymalizowac ta w/w procedurkt..... ale to juz sam sobie mozesz zrobic...

[b]grep[/b] - wyswietl tylko linie w ktroych znajduje sie ciag zakow "/bin/bash"
[b]cud -d: ....[/b] - podziel na fragmety cag znakow odzielonych ":" i wytnij odpowiednie kolumny...
[b]awk awk '{printf $1;...[/b] - w tym przypadku wyswietla ciag juz przetwozonego wiersza aby muc go przygotowac do dalszej obrobki...
[b]sed "s/,//"[/b] zastepuje znak w tym przypadku zastpuje wszystkie "," niczym.....

co do

Kod:

grep -E -v "^#|^$" user.s |while read login nazwa; 

to co widzisz to ejst poczatek petli.... a
[b]grep -E -v "^#|^$"[/b] - mowi zeby pomojac wszystkie puse wiersze i wiersze zaczynajace sie od znaku "#"
b]read login nazwa[/b] - odczytuje wartosci odzielone spacja 1 wartosc jest przypisywana do zmiennej login a droga do zmiennej nazwa


[url=http://dug.net.pl][b]DUG[/b][/url]

Offline

 

#20  2005-01-25 17:46:14

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: sed /skrypt

no ja wlasnie mamw  tym semestrze... tyle ze u mnie sie nazywa... Techniki Mikroprocesorowe... lol :-)[/quote]
Widze, że wszyscy przez to przechodzą :) U mnie to jest Budowa komputerów. Piszemy na mikrokontroler 8051 na zestawie dsm-51. Troche to porabane więc wszystkim współczuje. W tym sobie, musze na zaliczenia oddać program obsługujący silniczek krokowy :(

Offline

 

#21  2005-01-25 18:23:42

  _sutzo - Użytkownik

_sutzo
Użytkownik
Skąd: Gdańsk
Zarejestrowany: 2005-01-22

Re: sed /skrypt

Dzieki Biexi... ale nie wiem dlaczego on rowniez przeszukuje /bin/bash

kamikaze:
ja tez musze oddac dwa programy... :( do piatku... chyba bede musial sie usmiechnac do Biexi ;-)

Offline

 

#22  2005-01-27 10:59:24

  rybek - Członek DUG

rybek
Członek DUG
Zarejestrowany: 2004-04-20

Re: sed /skrypt

no ja wlasnie mamw  tym semestrze... tyle ze u mnie sie nazywa... Techniki Mikroprocesorowe... lol :-)[/quote]
Widze, że wszyscy przez to przechodzą :) U mnie to jest Budowa komputerów. Piszemy na mikrokontroler 8051 na zestawie dsm-51. Troche to porabane więc wszystkim współczuje. W tym sobie, musze na zaliczenia oddać program obsługujący silniczek krokowy :([/quote]

hehe. widze ze strasznie duzo lduzi sie pojawia z jakiejs elektroniki czy czegos takiego :). co prawda nie tu miejsce na takie zwierzenia, ale tez przez to przechodzilem :). i tak mi zostalo do dzis - cyfrowka fajna rzecz.


Linux Registered User: #348830

In a World without Walls and Fences,
who needs Windows and Gates?

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.013 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00016 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00136 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.188.76.209' WHERE u.id=1
0.00089 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.188.76.209', 1732378293)
0.00076 SELECT * FROM punbb_online WHERE logged<1732377993
0.00117 SELECT topic_id FROM punbb_posts WHERE id=2171
0.00010 SELECT id FROM punbb_posts WHERE topic_id=324 ORDER BY posted
0.00106 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=324 AND t.moved_to IS NULL
0.00008 SELECT search_for, replace_with FROM punbb_censoring
0.00272 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=324 ORDER BY p.id LIMIT 0,25
0.00102 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=324
Total query time: 0.00937 s