unix.linux
.pdfОсновные элементы регулярных выражений
●. — любой символ
●^ — начало строки
●$ — конец строки
●(a|b|c) — оператор выбора
●[0-9A-Z_!.?] — символьный класс
●[^a-e] — отрицание символьного класса
●[-A-Z] — символьный класс, содержащий дефис
●\. \( \) - экранированные метасимволы
Квантификаторы регулярных выражений
●? — не более одного, в том числе и ни одного
●* — любое количество, в том числе и ни одного
●+ — как минимум один
●{n} — строго n
●{n,} — n или более
●{,m} — не более m
●{n,m} — не менее n, не более m
Примеры регулярных выражений
●a.*b
●a.?b
●a?b
●^a.+b$
●a[c-f]b
●a[c-f]*b$
●a(c|d|e)+b
●^a(c|d|e)+[0-9]*1{7,9}b$
●^a?
Редактор потока (sed)
●sed 's/<что ищем>/<на что меняем>/' [<файл>]
●sed 's/<что ищем>/<на что меняем>/g'
●sed -i 's/<что ищем>/<на что меняем>/'
●| sed 's/cat/dog/g'
●| sed 's/.//g'
●| sed 's/\(.\)/\1\1/g'
Операции над частями строки (cut)
●cut <ключи> [<файл>]
●-b <номера> — вывести указанные байты
●-c <номера> — вывести указанные символы
●-f <номера> — вывести указанные поля
●-d <символ> — задать входной разделитель (по умолчанию Tab, строго один символ)
●--output-delimiter=''строка'' — задать выходной разделитель
Сортировка массива строк (sort)
●sort <ключи> [<файл>]
●-r — обратный порядок
●-b — игнорировать начальные пробелы
●-c — проверить массив на сортированность перед сортировкой
●-d — словарный порядок
●-n — сортировать числа по значению
●-u — выводить первый из повторящихся элементов (если не указан ключ -c)
●-t'<разделитель>' -k<номер>
Поиск повторных элементов в списке (uniq)
●uniq <ключи> [<файл>] [<выходной файл>]
●-c — выводить количество совпадений
●-d — выводить только повторяющиеся строки
●-u — выводить только неповторяющиеся строки
Подсчёт количества символов, слов, строк (wc)
●wc <ключи> [<файл>]
●-c — число байт
●-m — число символов
●-l — число строк
●-w — число слов
●-L — вывести длину самой длинной строки
Замена и удаление символов (tr)
●tr <ключи> <заменяемый набор символов> [<замена>]
●Работает только со стандартными дескрипторами
●Поддерживает экранированные символы
●| tr 'abc' 'def'
●-d — удалить символы, входящие в набор
●-s — сворачивать последовательно повторяющиеся символы, входящие в набор, в один
Команды получения сведений о системе