Created new structure

This commit is contained in:
semaev
2018-04-05 11:51:16 +03:00
parent f5621af984
commit bd7593add3
72 changed files with 86 additions and 81 deletions
-59
View File
@@ -1,59 +0,0 @@
**103.7** Поиск информации при помощи регулярных выражений
Студент должен уметь осуществлять поиск необходимых файлов и информации внутри них.
**Изучаем** :
- создание простых регулярных выражений;
- инструменты, опирающиеся на эти выражения, для поиска файлов.
**Термины и утилиты: **
- grep
- egrep
- fgrep
- rgrep
- sed
- регулярные выражения.
Частой задачей в Linux является поиск необходимых файлов и сортировка информации внутри них. Для этой задачи служат регулярные выражения – специальный язык поиска и изменения информации, обладающий своим синтаксисом.
При отборе информации можно использовать стандартные групповые символы:
- **^** _ - начало строки;_
- **$ ** _ - конец строки;_
- **. ** _ - любой символ;_
- **\<**** a **** ** _- слово, начинающееся с " __a__";_
- **\>**** a **** ** _-_ _c __лово, заканчивающееся на "__ a__";_
- **a**** - ****z**** ] **** -** _диапазон от " __a__" до " __z__";_
- **[^t]**** **** -** _не буква " __t__";_
- **a|z**** **** -** _" __a__" __или "__ z __"__ ;_
- и т.д.;
Для простой сортировки набора строк используется команда **grep** , например:
**grep**** oo ****file****. ****txt** _(отобразить в файле текст с двумя буквы « __o__ » подряд);_
**ls** **|** **grep**** ile** _(вывести названия содержимого каталога с набором символов ' __ile__');_
**grep**** ple ****$** **file****. ****txt** _(отобразить в файле_ _file __.__ txt_ _строки, заканчивающиеся на ' __ple__');_
Для расширенной сортировки и поиска по сложным регулярным выражениям используется команда **egrep** (также можно использовать **grep** **-**** E**), например:
**egrep** **'^(****b ****|**** d****)'** **file****. ****txt** _(все строки, что начинаются с " __b__" или " __d__");_
**egrep** **'^[****a ****-**** k****]'** **file****. ****txt** _(все строки, что начинаются с " __a__" по " __k__");_
Для быстрой сортировки и поиска по набору символов без регулярных выражений используется команда **fgrep** (также можно использовать **grep** **-**** F**), например:
**fgrep**** c ****$** **file****. ****txt** _ (отобразить в_ _file __.__ txt_ _последовательность символов " __c__ $");_
Для рекурсивной (включая вложенные каталоги и файлы) сортировки и поиска по набору символов используется команда **rgrep** (также можно использовать **grep** **-**** R**), например:
**rgrep** ** **** word**_ (вывести позиции содержащие « __word__ » в текущем и всех вложенных каталогах__);_
Для изменения текстового потока согласно заданным правилам используется редактор sed, например:
**sed** ****** e ****' ****s**** / ****oo**** / ****aa**** /' ****file****. ****txt** _(заменить в_ _file __.__ txt_ _все " __oo__" на " __aa__" );_
**sed** ****** re ****' ****s**** /^( ****B**** | ****b**** )/ ****C****' ****file****. ****txt** **>** **newfile****. ****txt** _(в строках, начинающихся с « __B__ » или « __b__ », заменить первую букву на «С» и сохранить результат в_ _newfile __.__ txt__);_