Шта су Линук регуларни изрази?
Регуларни изрази за Линук су посебни знакови који помажу у претраживању података и усклађивању сложених образаца. Регуларни изрази су скраћени као „регуларни израз“ или „регуларни израз“. Користе се у многим Линук програмима као што су греп, басх, преименовање, сед итд.
Врсте регуларних израза
Ради лакшег разумевања, научимо различите типове регуларних израза један по један.
- Основни регуларни изрази
- Интервал Регуларни изрази
- Проширени регуларни изрази
- Резиме
Кликните овде ако видео снимку није доступан
Основни регуларни изрази
Неке од најчешће коришћених команди са регуларним изразима су тр, сед, ви и греп. У наставку су наведени неки од основних регуларних израза.
Симбол | Описи |
---|---|
. | замењује било који лик |
одговара почетку низа | |
$ | одговара крају низа |
* | подудара се нула или више пута са претходним знаком |
\ | Представљају посебне знакове |
() | Групира регуларне изразе |
? | Поклапа се са тачно једним ликом |
Да видимо пример.
Извршите узорак мачке да бисте видели садржај постојеће датотеке
Потражите садржај који садржи слово „а“.
' ^ ' одговара почетку низа. Потражимо садржај који ПОЧИЊЕ са
Филтрирају се само редови који почињу словом. Редови који на почетку не садрже знак 'а' се занемарују.
Погледајмо још један пример -
Изаберите само оне редове који се завршавају с т помоћу $
Интервал Регуларни изрази
Ови изрази нам говоре о броју појављивања знакова у низу. Су
Израз | Опис |
---|---|
{н} |
Тачно се подудара са претходним знаком који се појављује 'н' пута |
{н, м} | Подудара се са претходним знаком који се појављује 'н' пута, али не више од м |
{н,} | Подудара се са претходним знаком само када се појави „н“ или више пута |
Пример:
Филтрирајте све редове који садрже знак 'п'
Желимо да проверимо да ли се знак 'п' појављује тачно 2 пута у низу један за другим. За ово би синтакса била:
cat sample | grep -E p\{2}
Напомена: Овим регуларним изразима морате додати -Е.
Проширени регуларни изрази
Ови регуларни изрази садрже комбинације више од једног израза. Неки од њих су:
Израз | Опис |
---|---|
\ + |
Поклапа се са једном или више појава претходног знака |
\? |
Поклапа се са нулом или једном појавом претходног знака |
Пример:
Тражење свих знакова 'т'
Претпоставимо да желимо да филтрирамо редове где знак 'а' претходи знаку 'т'
Можемо користити команду попут
cat sample|grep "a\+t"
Проширење заграде
Синтакса за проширивање заграда је или редослед или листа одвојених зарезима ставки унутар коврџавих заграда „{}“. Почетне и завршне ставке у низу одвојене су двема тачкама "...".
Неки примери:
У горњим примерима, команда ецхо креира низове помоћу проширења заграде.
Резиме:
- Регуларни изрази су скуп знакова који се користе за проверу образаца у низовима
- Такође се називају 'регекп' и 'регек'
- Важно је научити регуларне изразе за писање скрипти
- Неки основни регуларни изрази су:
Симбол | Описи |
---|---|
. | замењује било који лик |
одговара почетку низа | |
$ | одговара крају низа |
- Неки проширени регуларни изрази су:
Израз | Опис |
---|---|
\ + | Поклапа се са једном или више појава претходног знака |
\? | Поклапа се са нулом или једном појавом претходног знака |
- Неки интервални регуларни изрази су:
Израз | Опис |
---|---|
{н} | Тачно се подудара са претходним знаком који се појављује 'н' пута |
{н, м} | Подудара се са претходним знаком који се појављује 'н' пута, али не више од м |
{н,} | Подудара се са претходним знаком само када се појави „н“ или више пута |
- Проширење заграде користи се за генерисање низова. Помаже у стварању више низова од једног.