Водич за регуларни израз за Линук: Пример Греп Регек-а

Преглед садржаја:

Anonim

Шта су Линук регуларни изрази?

Регуларни изрази за Линук су посебни знакови који помажу у претраживању података и усклађивању сложених образаца. Регуларни изрази су скраћени као „регуларни израз“ или „регуларни израз“. Користе се у многим Линук програмима као што су греп, басх, преименовање, сед итд.

Врсте регуларних израза

Ради лакшег разумевања, научимо различите типове регуларних израза један по један.

  • Основни регуларни изрази
  • Интервал Регуларни изрази
  • Проширени регуларни изрази
  • Резиме

Кликните овде ако видео снимку није доступан

Основни регуларни изрази

Неке од најчешће коришћених команди са регуларним изразима су тр, сед, ви и греп. У наставку су наведени неки од основних регуларних израза.

Симбол Описи
. замењује било који лик
одговара почетку низа
$ одговара крају низа
* подудара се нула или више пута са претходним знаком
\ Представљају посебне знакове
() Групира регуларне изразе
? Поклапа се са тачно једним ликом

Да видимо пример.

Извршите узорак мачке да бисте видели садржај постојеће датотеке

Потражите садржај који садржи слово „а“.

' ^ ' одговара почетку низа. Потражимо садржај који ПОЧИЊЕ са

Филтрирају се само редови који почињу словом. Редови који на почетку не садрже знак 'а' се занемарују.

Погледајмо још један пример -

Изаберите само оне редове који се завршавају с т помоћу $

Интервал Регуларни изрази

Ови изрази нам говоре о броју појављивања знакова у низу. Су

Израз Опис
{н}

Тачно се подудара са претходним знаком који се појављује 'н' пута

{н, м} Подудара се са претходним знаком који се појављује 'н' пута, али не више од м
{н,} Подудара се са претходним знаком само када се појави „н“ или више пута

Пример:

Филтрирајте све редове који садрже знак 'п'

Желимо да проверимо да ли се знак 'п' појављује тачно 2 пута у низу један за другим. За ово би синтакса била:

cat sample | grep -E p\{2}

Напомена: Овим регуларним изразима морате додати -Е.

Проширени регуларни изрази

Ови регуларни изрази садрже комбинације више од једног израза. Неки од њих су:

Израз Опис

\ +

Поклапа се са једном или више појава претходног знака

\?

Поклапа се са нулом или једном појавом претходног знака

Пример:

Тражење свих знакова 'т'

Претпоставимо да желимо да филтрирамо редове где знак 'а' претходи знаку 'т'

Можемо користити команду попут

cat sample|grep "a\+t"

Проширење заграде

Синтакса за проширивање заграда је или редослед или листа одвојених зарезима ставки унутар коврџавих заграда „{}“. Почетне и завршне ставке у низу одвојене су двема тачкама "...".

Неки примери:

У горњим примерима, команда ецхо креира низове помоћу проширења заграде.

Резиме:

  • Регуларни изрази су скуп знакова који се користе за проверу образаца у низовима
  • Такође се називају 'регекп' и 'регек'
  • Важно је научити регуларне изразе за писање скрипти
  • Неки основни регуларни изрази су:
Симбол Описи
. замењује било који лик
одговара почетку низа
$ одговара крају низа
  • Неки проширени регуларни изрази су:
Израз Опис
\ + Поклапа се са једном или више појава претходног знака
\? Поклапа се са нулом или једном појавом претходног знака
  • Неки интервални регуларни изрази су:
Израз Опис
{н} Тачно се подудара са претходним знаком који се појављује 'н' пута
{н, м} Подудара се са претходним знаком који се појављује 'н' пута, али не више од м
{н,} Подудара се са претходним знаком само када се појави „н“ или више пута
  • Проширење заграде користи се за генерисање низова. Помаже у стварању више низова од једног.