[bash] wyszukiwanie za pomoca grep

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
leon1313
Zakręcona Traszka
Zakręcona Traszka
Posty: 668
Rejestracja: 02 sty 2006, 19:35
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: KDE Plasma
Architektura: x86

Odp: [bash] wyszukiwanie za pomoca grep

Post autor: leon1313 »

Szczerze jeżeli chcesz mieć kompleksowy parser , zrób to za pomocą awk - warto poczytać.
Analizujesz kolejne linijki , szukasz wzoraca a dane ładujesz do tablicy .Na sam koniec wyświetlasz w dogodnej formie.
Powiedz m i jeszcze coś, ta nazwa pliku okręslającego usera pokrywa się z "BNET\\acct\\username"="dex4" ?
Generalnie mogę ci napisac parser analizujący te dane , nie jest to problem. Potrzeba mi tylko więcej danych: jak duże sa te pliki, czy może je parsować kilka razy, czy potrzaba ci tylko danych user- last login czy innych.
Ja takie parsery robię na zasadzie:

Kod: Zaznacz cały

cat plik | awk -f parser.awk
parser.awk:

Kod: Zaznacz cały

BEGIN{licznik=1}
{if(wzorzec1){działanie 1; do_tablicy[licznik, 1] }
if(wzorzec2){działanie 2; do_tablicy[licznik,2]}
if(wzorzec3){działanie 3; do_tablicy[licznik, 3];licznik++}
}
END{for (iter=1; iter<licznik+1; iter++){
print do_tablicy[iter,1] do_tablicy[iter,3] do_tablicy[iter,3]
}
}
To jest oczywiście schemat blokowy, mniej lub bardziej dobry ale działa w realu parsując pliki po 600MB w rekordach po 1000 linijek
"Poza tym dostałeś PLONKa i zabraniam Ci pisać na te grupe!!! Powiedziałem PLONK i sie zamknij i nawet nie knuj rzeby mi odpisywać! Zabraniam!!!"
maxblink
Piegowaty Guziec
Piegowaty Guziec
Posty: 27
Rejestracja: 25 cze 2008, 14:39
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME
Kontakt:

Odp: [bash] wyszukiwanie za pomoca grep

Post autor: maxblink »

chyba z awk mi nie podjzie .. czytam man awk, i tak nie wszystko jest dla mnie jasne. Unixem sie krotko "bawie" tj od niedawna... ;/ to chyba tamten by byl lepszy o ile bylby ktos w stanie powiedziec czemu wynik sie w pliku nie pokazuje, plik jest pusty.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości