|
Problem z AWK i /etc/passwd
simontg - 25-01-2008 23:51
Witam , jestem nowy na tym forum i chcę się najpierw przywitać :D
Jestem początkującym userem linuxa :] , mam debiana
Chcę napisać skrypt w bash-u ale ma kilka problemów i dlatego proszę o drobną pomoc w tej kwestii Chcę wypisać wszystkich i zliczyć userwów WYÂŁÂĄCZAJÂĄC roota i użytkowników systemowych. Próbuje połączyć coś takiego
awk -F ":" '{print ($1 , $4)}' /etc/passwd
no i chciałbym jakoś wepchnąć warunek
if ($4>0 and $4<1000 ) then (tu chcę dac zliczenie ilości wierszy = ilość tych userów i przekierować strumień do pliku.txt ) fi no i mam problem z tym zliczeniem oraz połączeniem AWK z warunkiem IF . Prosze o wskazówki , nie gotowe rozwiązanie , choć w man AWK nie za bardzo zrozumiałem tą kwestię warunków ;/
z góry dziękuję za pomoc
salmon - 26-01-2008 00:09
Ten warunek:
$4>0 and $4<1000
możesz wrzucić między '<tutaj>{. $4>0 jest nie potrzebne bo zawsze jest większy od zera, natomiast u mnie po wyżej nr 65000 proftpd stworzył sobie grupę, a jego pewnie nie chcesz liczyć. Do zliczania możesz użyć programu wc -l, a jak chcesz w awk to musisz zainteresować się funkcjami BEGIN i END i w tej pierwszej zainicjować licznik a w drugiej wypisać go. Zeby zapisać do pliku po prostu przekieruj standardowe wyjście.
simontg - 26-01-2008 09:59
OK , już sobie poradziłem z tym problemem , dziękuje wszystkim za pomoc.
Program AWK ma bardzo duże możliwości :)
cat /etc/passwd | awk -F ":" 'BEGIN{m=0; }{if ($3>m && $3<1000) print $1 " : " $3}'
samo przekierowanie do pliku to już banał dlatego już go nie piszę
Uważam temat za zamknięty
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|