Nowe posty

xx Przy uploadzie przerywane są wszystkie połączenia (1)
Dzisiaj o 09:38:09
xx Apache2 i twarde https (3)
2020-05-25, 15:53:43
xx Czy istnieje emulator terminala który zapamieta komendy na jakiejś liście? (9)
2020-05-23, 17:04:57
xx RTLinux wybór dystrybucji (0)
2020-05-23, 15:42:54
xx Problem z instalacją Ubuntu na bootowalnym pendrajwie (9)
2020-05-22, 15:08:12
xx Ubuntudde 20.04 LTS nie działa Lightdm (8)
2020-05-22, 09:16:42
xx [Gra za darmo] GTA5 (1)
2020-05-20, 21:49:26
xx Marketing (1)
2020-05-13, 08:00:41
xx Polecenia Debian (1)
2020-05-10, 19:58:54
xx Uruchamianie pliku z każdego katlogu (2)
2020-05-10, 19:23:33

Autor Wątek: Funkcja grep  (Przeczytany 327 razy)

Offline ordan0404

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 3
    • Zobacz profil
Funkcja grep
« dnia: 2019-10-29, 00:07:58 »
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ę)

Offline 920806

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 128
    • Zobacz profil
Odp: Funkcja grep
« Odpowiedź #1 dnia: 2019-10-29, 00:29:54 »
"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  .
« Ostatnia zmiana: 2019-10-29, 00:31:50 wysłana przez 920806 »
Steve Wozniak nie wiedział .. ~ ~ https://www.youtube.com/watch?v=FG1AQcGGSec ~~ / "Uparty jak nigdy" /P3@CE , L0\/E & rock'|\|'roII

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2383
  • 1709
    • Zobacz profil
Odp: Funkcja grep
« Odpowiedź #2 dnia: 2019-10-29, 01:08:39 »
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.
man grep

lub tylko opcje
grep --help
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.
grep examples
- Jesli szukam konkretnego zastosowania (danej komendy) to wpisuje np.
" nazwa_komendy co_chce_aby_robila " np.
grep show bottom line
- 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 "
linux show bottom line
czasami probuje wyszukac takze ze slowem bash
bash show bottom line
W tym przypadku wyniki wyszukiwania są trochę mniej precyzyjne niż z komenda grep
A jak poprawie zapytanie
bash search line and bottom line
To wyniki wyszukiwania sa znacznie lepsze.
« Ostatnia zmiana: 2019-10-29, 08:25:03 wysłana przez 1709 »
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

Offline marcin'82

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 316
    • Zobacz profil
Odp: Funkcja grep
« Odpowiedź #3 dnia: 2019-10-30, 19:46:09 »
Cytuj
Z góry dzięki.(chodzi o  samą metodykę)
man grep

Rozkmina:
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

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
marcin82