• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Skrypt przeszukujący plik BASH

0 głosów
694 wizyt
pytanie zadane 23 marca 2018 w Inne języki przez focused Użytkownik (580 p.)
zmienione kategorie 23 marca 2018 przez Eryk Andrzejewski

Mam do napisania skrypt w bashu, który będzie przeszukiwał plik .bash_history i wyświetlał wystąpienia polecenia cat. 

#!/bin/bash

cat .bash_history

Tylko co dalej? 

komentarz 23 marca 2018 przez Mariusz08 Maniak (62,280 p.)
Zła kategoria pytania.
komentarz 23 marca 2018 przez focused Użytkownik (580 p.)
Dobra bo potrzebuje to do szkoły ;)
komentarz 23 marca 2018 przez Mariusz08 Maniak (62,280 p.)
Ale to nie ma znaczenia :) Pytanie jest z kategorii Programowanie a nie Rozwój zawodowy ;).
2
komentarz 23 marca 2018 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Ty chyba nie wiesz ile tutaj osób potrzebuje czegoś do szkoły. A więc idąc twoim tokiem rozumowania, powinna być chyba tylko jedna kategoria. wink

3 odpowiedzi

+3 głosów
odpowiedź 23 marca 2018 przez Benek Szeryf (93,230 p.)
edycja 23 marca 2018 przez Benek

Tu nawet nie trzeba pisać skryptu, to jest polecenie na jedną linijkę:

grep -cE -e "^cat[ ]+" -e "[ ]+cat$" -e "[ ]+cat[ ]+" ~/.bash_history

Edit: troszkę zmodyfikowałem, by uwzględnić każdy przypadek.

+2 głosów
odpowiedź 23 marca 2018 przez miro Pasjonat (23,870 p.)
cat .bash_history | grep cat
Ogarnij jeszcze wyrażenia regularne, aby dostosować czy chcesz aby to tylko było cat lub może być catar itp.
1
komentarz 23 marca 2018 przez Benek Szeryf (93,230 p.)

Niepotrzebnie używasz dwóch poleceń: cat i grep. Wystarczy samo grep. Tym samym wywołujesz jeden proces, a nie dwa. Ponadto u Ciebie wystąpienia nie są zliczane, tylko drukowane na ekran.

komentarz 23 marca 2018 przez miro Pasjonat (23,870 p.)
Masz rację nie doczytałem, że chodzi o wystąpienia.
0 głosów
odpowiedź 23 marca 2018 przez Mateusz Pijanowski Bywalec (2,130 p.)
edycja 23 marca 2018 przez Mateusz Pijanowski
Właściwie prosta sprawa. Wystarczy polecenie grep wyszukujące w pliku .bash_history polecenie 'cat'.
1
komentarz 23 marca 2018 przez Benek Szeryf (93,230 p.)

Nie. Find ma inne zadanie:

find - search for files in a directory hierarchy

1
komentarz 23 marca 2018 przez Mateusz Pijanowski Bywalec (2,130 p.)
Mój błąd, widocznie pomyliłem komendę wyszukującą pliki z komendą wyszukującą danej treści w pliku. Zamiast find powinno być grep. Dzięki za zwrócenie uwagi na mój błąd :)

Podobne pytania

0 głosów
0 odpowiedzi 166 wizyt
pytanie zadane 24 marca 2018 w Inne języki przez focused Użytkownik (580 p.)
0 głosów
1 odpowiedź 1,470 wizyt
+1 głos
2 odpowiedzi 845 wizyt
pytanie zadane 18 października 2019 w Inne języki przez Adamskeys Nowicjusz (160 p.)

93,607 zapytań

142,529 odpowiedzi

322,999 komentarzy

63,098 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...