Греп: Учење скрипти шкољке помоћу команде Греп терминала

греп наредба

Учење скрипти љуске помоћу наредбе терминала: греп

Команда „греп“ у бесплатним оперативним системима као што је ГНУ / Линук је веома вредна и корисна команда. Његово име потиче од фразе на енглеском: «Глобал Регулар Екпрессион Принт» и користи се за извршавање задатка проналажења, подударања и приказивања узорка претраживања или регуларног израза једне (1) датотеке или неколико текстуалних датотека.

У основи, наредба «греп» тражи образац назначен у параметрима наредбе наредбе и исписује резултате добијене слиједећи назнаке у параметрима наредбе наредбе, што може бити: екран или излазна датотека.

Увод у наредбу „греп“

Већ у другим претходним публикацијама истог блога, попут ове «Неке основне команде о ...»Прокоментарисали смо основну употребу ове велике заповести, али У овој публикацији видећемо средњу и напреднију употребу наредбе „греп“ у оквиру функционалних и корисних наредби које могу олакшати одређене стварне задатке. унутар наших скрипти љуске или директно на терминалу како бисмо постигли непосреднији резултат на одређеном задатку који треба извршити.

Практични примери

Погледајте нашу позицију / локацију

Штампа садржај нашег тренутног директоријума користећи графичко стабло директоријума:

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

Пример:

Греп: Директориј сличан стаблу

Генеришите случајну лозинку дужине 30 знакова

Генеришите случајне низове унутар / дев / урандом, а затим изаберите и прикажите један (1) користећи филтрирање помоћу команде «греп» само за алфанумеричке знакове, уз услов величине првих 30 знакова, елиминишући све феедове редова .

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

Пример:

Греп: Генериши лозинку

Генеришите графички резиме веза

Приказ графички (табела) и резимирани број интерних и екстерних мрежних веза које је детектовала наредба "нетстат" хоста у било ком тренутку.

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 "" }'

Пример:

Греп: Графикон Нетстат веза

Такође се може користити за генерисање збирне табеле броја веза према њиховом типу, као што је приказано доле:

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

Пример:

Греп: Резиме табеле са Нетстатом

Пронађите низ (образац) унутар путање

Пронађите и прикажите сва подударања узорка у именима датотека или садржају датотеке. Коришћење параметара за постизање овог су: -Р (Понављање за поддиректоријуме), -н (Прикажи бројеве редова подударања), -и (Занемари велика и мала слова), -с (Потисни поруке 'не постоји') „И„ не може се прочитати “), -И (Занемари бинарне датотеке у претрази).

grep -RnisI  *

Греп: Проналажење образаца у датотекама и директоријумима

Такође се може користити на напреднији начин ако се користи у командној линији са наредбом „пронађи“ за проналажење узорка унутар унапред дефинисаног типа датотеке. како је приказано испод:

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

Греп: Потражите обрасце у датотекама

Знати количину података у РАМ меморији

Ово је корисно да се тачно зна колико података (информација) чека на упис на чврсти диск и потребно је принудно поново покренути или искључити рачунар.

grep ^Dirty /proc/meminfo

Греп: Подаци у РАМ-у

Знајте нашу ВАН ИП адресу

Увек је врло корисно знати наш ВАН ИП аутоматски са терминала, а затим проследити тај параметар другом аутоматизованом задатку. Овај пример користи услугу ДинДНС да би је добио.

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

Греп: Знајте наш ВАН ИП

Наведите опрему повезану на мрежни сегмент

Коришћењем петље фор са командом „пинг“ и филтрирањем резултата помоћу команде „греп“ можемо да потврдимо своје рачунаре повезане на мрежу са омогућеном услугом пинг без потребе за алатом НМап.

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

Пример:

Да бисте пописали поље праћене ИП адресе, ову линију можете напредније користити, филтрирајући резултате наредбе «греп» помоћу команди «авк» и «цут», као што је приказано доле:

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

Пример:

Греп: ЛАН ИП списак

Ови примери командних линија које користе греп наредбу. И користе се за директну употребу са конзоле или индиректно уметањем у скрипту (аутоматизовани задатак).

У следећем посту о Схелл Сцриптинг истражићемо друге команде.

Ако желите да сазнате нешто више о команди «греп», посетите овај линк «ДЕБИАН Вики»А ако желите да сазнате више о Схелл скриптирању на нашем сопственом блогу, можете погледати наше остале публикације на ту тему, кликом овде: Скриптирање у ФромЛинук-у


Садржај чланка се придржава наших принципа уређивачка етика. Да бисте пријавили грешку, кликните овде.

2 коментара, остави свој

Оставите свој коментар

Ваша емаил адреса неће бити објављена.

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   Леандро дијо

    Чланак је сјајан, пуно вам хвала.

  2.   Линук Пост Инсталл дијо

    Нема на чему, задовољство је! Сада долази један са командом Сед.