julietta_b Napisano Listopad 27, 2012 Zgłoszenie Share Napisano Listopad 27, 2012 Witam wszystkich! Mam problem. Potrzebuję pomocy. Wpisuję polecenie w konsoli: awk '{ RS="&"} /pass/ {print $0} ' Program wypisuje mi oczywiście wiersz zawierający ciąg znaków "pass". Jakiego użyć polecenia aby wypisał również wiersz poprzedzający? Kompletnie brakuje mi pomysłu. Czekam na odpowiedź. Julia Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Gość Napisano Listopad 27, 2012 Zgłoszenie Share Napisano Listopad 27, 2012 http://lmgtfy.com/?q=awk+context+grep Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
julietta_b Napisano Listopad 27, 2012 Autor Zgłoszenie Share Napisano Listopad 27, 2012 http://lmgtfy.com/?q=awk+context+grep Kurcze. Dalej to dla mnie za trudne. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Listopad 27, 2012 Zgłoszenie Share Napisano Listopad 27, 2012 Latwiej to juz nie bedzie. 'awk' idzie tylko do przodu, wiec musisz zapamietywac linie w której jestes, sprawdzac czy w nastepnej linii masz szukany lancuch i jesli tak to wypisywac zapamietana linie. Ale tak jak napisali w przykladzie to bedzie wooolne w przypadku plików dluzszych niz kilka linii. Chyba, ze to tylko sztuka dla sztuka albo praca domowa... [EDIT] Ten przyklad to wlasciwie gotowiec do przepisania i uruchomienia. Zakrecone, ale dziala i wcale nie tak wolno jak myslalem. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
julietta_b Napisano Listopad 30, 2012 Autor Zgłoszenie Share Napisano Listopad 30, 2012 Znalazlam cos takiego awk -v n=2 ' /pass/ && NR>n {print $0, window[(NR-n)%n]}{window[NR%n]=$0}' /home/julia/Pulpit/file1.txt W sumie OK. Próbuje dodac {RS="&"} aby podzielic wiersz, ale cos nie dziala. Ogólnie chodzi o to zeby wyswietlilo mi tylko username=przykladowy_login password=przykladowe haslo z wiersza: username=przykladowy_login&password=przykladowe haslo&redirect=index.php&sid=502e2e89eb3b2b22e86ccff3984c85cb&login=Zaloguj Dla kolegi WaLDo : info potrzebne mi do pracy inzynierskiej Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Gość Napisano Grudzień 1, 2012 Zgłoszenie Share Napisano Grudzień 1, 2012 [artur@collider ~]$ echo "username=przykladowy_login&password=przykladowe haslo&redirect=index.php&sid=502e2e89eb3b2b22e86ccff3984c85cb&login=Zaloguj" | awk -F\& '{print $1 "\n" $2}' username=przykladowy_login password=przykladowe haslo Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
julietta_b Napisano Grudzień 3, 2012 Autor Zgłoszenie Share Napisano Grudzień 3, 2012 [artur@collider ~]$ echo "username=przykladowy_login&password=przykladowe haslo&redirect=index.php&sid=502e2e89eb3b2b22e86ccff3984c85cb&login=Zaloguj" | awk -F\& '{print $1 "\n" $2}' username=przykladowy_login password=przykladowe haslo Oj zeby to takie latwe bylo. Za kazdym razem wiersz ma inna tresc (inny login i haslo). Poza tym linijka znajduje sie w duzymmm pliku tekstowym. Juz sobie poradzilam. Mam linijke komend w kosoli teraz mysle nad petla i skryptem. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
julietta_b Napisano Grudzień 3, 2012 Autor Zgłoszenie Share Napisano Grudzień 3, 2012 Oj zeby to takie latwe bylo. Za kazdym razem wiersz ma inna tresc (inny login i haslo). Poza tym linijka znajduje sie w duzymmm pliku tekstowym. Juz sobie poradzilam. Mam linijke komend w kosoli teraz mysle nad petla i skryptem. Dla zainteresowanych wyglada to tak: awk 'BEGIN{FS="&";OFS="\n"} /pass/ {print $1, $2} ; /Host/ {print $0} ' /home/ja/Pulpit/file1.txt | grep -B2 "^pass" Teraz chodzi o skrypt, który to polecenie wrzuci w petle. Powinno plik tekstowy czytac wkólko od poczatku do konca do momentu wpisania np. exit. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
julietta_b Napisano Grudzień 18, 2012 Autor Zgłoszenie Share Napisano Grudzień 18, 2012 No i co nikt nie potrafi mi pomóc? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
thof Napisano Grudzień 18, 2012 Zgłoszenie Share Napisano Grudzień 18, 2012 Chodzi o pomysl czy gotowe rozwiazanie? Jesli to pierwsze, to pusc sobie background joba z petla nieskonczona i tym co wrzucilas powyzej. Po jego odpaleniu pobierz jego PID za pomoca $! i potem read tez w petli nieskonczonej, który bedzie sobie czekal na np. "exit", a kiedy sie doczeka to kill $PobranyPID i wyjscie z programu. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Grudzień 18, 2012 Zgłoszenie Share Napisano Grudzień 18, 2012 Czy ja czegos nie rozumiem czy chodzi o napisanie tej petli w awk? Bo jesli nie w awk, to sobie bash, while true oraz trap powinny poradzic z tym problemem. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się