Grep: nauka skryptów powłoki za pomocą polecenia Grep Terminal

grep polecenie

Nauka skryptów powłoki za pomocą polecenia terminala: grep

Polecenie „grep” w Wolnych Systemach Operacyjnych, takich jak GNU / Linux, jest bardzo cennym i użytecznym poleceniem. Jego nazwa pochodzi od angielskiego wyrażenia: «Global Regular Expression Print» i służy do wyszukiwania, dopasowywania i wyświetlania wzorca wyszukiwania lub wyrażenia regularnego jednego (1) pliku lub kilku plików tekstowych.

Zasadniczo, polecenie «grep» wyszukuje wzorzec wskazany w parametrach polecenia polecenia i drukuje wyniki uzyskane po wskazaniach parametrów polecenia polecenia., którym może być: ekran lub plik wyjściowy.

Wprowadzenie do polecenia „grep”

Już w innych poprzednich publikacjach tego samego bloga, takich jak ten «Kilka podstawowych poleceń w ...»Skomentowaliśmy podstawowe zastosowanie tego wielkiego polecenia, ale W tej publikacji zobaczymy bardziej pośrednie i zaawansowane użycie polecenia „grep” w ramach funkcjonalnych i przydatnych poleceń, które mogą ułatwić pewne rzeczywiste zadania. w naszych skryptach powłoki lub bezpośrednio na terminalu, aby uzyskać szybszy wynik dla określonego zadania do wykonania.

Praktyczne przykłady

Zobacz naszą pozycję / lokalizację

druk zawartość naszego bieżącego katalogu za pomocą graficznego drzewa katalogów:

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'

przykład:

Grep: katalog podobny do drzewa

Wygeneruj losowe hasło o długości 30 znaków

Wygeneruj losowe ciągi w / dev / urandom, a następnie wybierz i wyświetl pojedynczy (1) przy użyciu filtrowania z poleceniem «grep» tylko dla znaków alfanumerycznych, z warunkiem rozmiaru pierwszych 30 znaków, eliminując wszystkie nowe wiersze.

strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo

przykład:

Grep: wygeneruj hasło

Wygeneruj graficzne podsumowanie połączeń

Widok w formie graficznej (tabela) i podsumowanie liczby wewnętrznych i zewnętrznych połączeń sieciowych wykrytych przez polecenie "netstat" hosta w danym czasie.

netstat -an | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | awk '{ printf("%s\t%s\t",$2,$1) ; for (i = 0; i < $1; i++) {printf("*")}; print "" }'

przykład:

Grep: Netstat Connections Graph

Można go również użyć do wygenerowania tabeli zbiorczej z liczbą połączeń według ich typu, jak pokazano poniżej:

netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c

przykład:

Grep: Tabele podsumowujące z Netstat

Znajdź ciąg (wzór) w ścieżce

Zlokalizuj i wyświetl wszystkie dopasowania wzorca w nazwach plików lub ich zawartości. Parametry do tego służą: -R (Powtarzanie dla podkatalogów), -n (Pokaż numery wierszy dopasowań), -i (Ignoruj ​​duże i małe litery), -s (Pomiń komunikaty „nie istnieje” „I” nie można odczytać "), -I (Ignoruj ​​pliki binarne podczas wyszukiwania).

grep -RnisI  *

Grep: Wyszukaj wzorce w plikach i folderach

Może być również używany w bardziej zaawansowany sposób, jeśli jest używany w wierszu polecenia z poleceniem „znajdź”, aby zlokalizować wzorzec w predefiniowanym typie pliku. jak pokazano niżej:

find /opt/MilagrOS -name "*.txt" -exec grep -RnisI "MilagrOS" {} \;

Grep: Wyszukaj wzorce w plikach

Poznaj ilość danych w pamięci RAM

Jest to przydatne, aby dokładnie wiedzieć, ile danych (informacji) czeka na zapisanie na dysku twardym i konieczne jest wymuszenie ponownego uruchomienia lub wyłączenia komputera.

grep ^Dirty /proc/meminfo

Grep: Dane w pamięci RAM

Poznaj nasz adres IP WAN

Zawsze jest bardzo przydatne, aby znać nasz adres IP WAN automatycznie z terminala, a następnie przekazać ten parametr do innego automatycznego zadania. Ten przykład wykorzystuje usługę DynDNS, aby ją uzyskać.

curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+"

Grep: Poznaj nasz WAN IP

Wymień sprzęt podłączony do segmentu sieci

Używając pętli for z poleceniem „ping” i filtrując wynik poleceniem „grep”, możemy sprawdzić poprawność naszych komputerów podłączonych do sieci z włączoną usługą ping bez konieczności używania narzędzia NMap.

for i in {1..10}; do ping -c 1 -W 1 192.168.0.$i | grep 'from'; done

przykład:

Aby wyświetlić śledzone pole adresu IP, możesz zrobić bardziej zaawansowane użycie tej linii, filtrując wyniki polecenia "grep" za pomocą poleceń "awk" i "cut", jak pokazano poniżej:

for i in {100..110}; do ping -c 1 -W 1 192.168.0.$i | grep 'from'; done | awk '{ print $4 }' | cut -d ":" -f 1

przykład:

Grep: Lista adresów IP w sieci LAN

Te przykłady wierszy poleceń używających polecenia grep. I służą do użycia bezpośrednio z konsoli lub pośrednio poprzez wstawienie ich do skryptu (zadanie automatyczne).

W następnym poście o skryptach powłoki omówimy inne polecenia.

Jeśli chcesz dowiedzieć się więcej na temat polecenia «grep», odwiedź ten link «DEBIAN Wiki»A jeśli chcesz dowiedzieć się więcej o skryptach powłoki na naszym własnym blogumożesz zapoznać się z innymi naszymi publikacjami na ten temat, klikając tutaj: Skrypty DesdeLinux


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Leandro powiedział

    Artykuł jest świetny, bardzo dziękuję.

  2.   Po instalacji Linuksa powiedział

    Nie ma za co, to przyjemność! Teraz pojawia się jeden z komendą Sed.