Programowanie > Bash, skrypty powłoki
Funkcja grep
(1/1)
ordan0404:
Czy ma ktoś pomysł jak takie coś zrobić?
Znajdź w pliku linijkę odpowiadającą użytkowi root. Do pliku F4.txt wypisz 4 linijki powyżeji 5 linijek poniżej tej linii (grep).
Z góry dzięki.(chodzi o samą metodykę)
920806:
"Znajdź w pliku linijkę odpowiadającą użytkowi root", ale że ma być na początku, czy jak? Dwa słowa - "wyrażenia regularne" z egrep'em, a jeszcze man tail / head .
1709:
Ja się spotkałem kiedyś z opcją przy komendzie grep
która umożliwia wypisanie więcej linii niż tylko szukanej np.
wypisanie szukanej linii + 5 linii poniżej lub powyżej.
( musisz znaleźć odpowiednia opcje do komendy)
Co do " metodyki "
Twój " mentor / nauczyciel " chyba celowo podaje komendy w nawiasach żebyś nie szukał komend.
Problemy można rozwiązać na wiele sposobów, ale on w nawiasach podaje Ci fragment jednego ze sposobów rozwiązania.
Twoim zadaniem jest tylko wyszukanie odpowiedniej opcji do podanej komendy aby odfiltrować swój tekst.
W Linuxie opcje komend znajdziesz w poradnikach / "manual-ach" wpisując w terminalu np.
--- Kod: ---
man grep
--- Koniec kodu ---
lub tylko opcje
--- Kod: ---
grep --help
--- Koniec kodu ---
gdzie grep to komenda do której szukamy poradnika lub opcji.
Można tez szukać poradników / manuale online
https://linux.die.net/man/1/grep
https://www.linux.pl/man/index.php?command=grep
Jeśli natomiast nie wiem jakiej komendy użyć lub w jaki sposób,
to najczęściej szukam w internecie.
- Jesli szukam przykladow (danej komendy), w wyszukiwarce wpisuje
" nazwa_komendy examples " np.
--- Kod: ---
grep examples
--- Koniec kodu ---
- Jesli szukam konkretnego zastosowania (danej komendy) to wpisuje np.
" nazwa_komendy co_chce_aby_robila " np.
--- Kod: ---
grep show bottom line
--- Koniec kodu ---
- Uzywam specjalnie jezyka angielskiego, poniewaz w jezyku angielsku jest wiecej wynikow wyszukiwania.
- Czasami gdy wyniki wyszukiwania nie dotycza linuxa,
to poprzedzam szukany tekst slowem " linux ".
- Jeśli natomiast nie znam komendy i chce odpowiednio sformatowac tekst,
to bym szukal " linux co_chcialbym_zrobic "
--- Kod: ---
linux show bottom line
--- Koniec kodu ---
czasami probuje wyszukac takze ze slowem bash
--- Kod: ---
bash show bottom line
--- Koniec kodu ---
W tym przypadku wyniki wyszukiwania są trochę mniej precyzyjne niż z komenda grep
A jak poprawie zapytanie
--- Kod: ---
bash search line and bottom line
--- Koniec kodu ---
To wyniki wyszukiwania sa znacznie lepsze.
marcin'82:
--- Cytuj ---Z góry dzięki.(chodzi o samą metodykę)
--- Koniec cytatu ---
--- Kod: ---
man grep
--- Koniec kodu ---
Rozkmina:
--- Kod: ---
cat plik
linia
linia
linia
czwarta powyżej
trzecia powyżej
druga powyżej
pierwsza powyżej
ROOT
pierwsza poniżej
druga poniżej
trzecia poniżej
czwarta poniżej
piąta poniżej
linia
linia
linia
--- Koniec kodu ---
--- Kod: ---
grep -B 4 -A 5 ROOT plik
czwarta powyżej
trzecia powyżej
druga powyżej
pierwsza powyżej
ROOT
pierwsza poniżej
druga poniżej
trzecia poniżej
czwarta poniżej
piąta poniżej
--- Koniec kodu ---
Nawigacja
Idź do wersji pełnej