Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Druk_ekz.docx
Скачиваний:
12
Добавлен:
17.09.2019
Размер:
457.69 Кб
Скачать

Цикл выполнения

sed работает с двумя буферами данных: основным и вспомогательным. Изначально оба буфера пусты. Работа с этими буферами осуществляется при помощи команд:\`h', `H', `x', `g', `G' `D' h - Заменить содержимое вспомогательного буфера содержимым основного H - Добавить новую строку к вспомогательному буферу и затем добавить содержимое основного буфера к содержимому вспомогательного x - Поменять содержимое обоих буферов местами g - Заменить содержимое основного буфера содержимым вспомогательного G - Добавить новую строку к основному буферу и затем добавить содержимое вспомогательного буфера к содержимому основного D - Удалить текст основного буфера до следующего символа перевода строки N - Добавить новую строку к основному буферу, затем добавить туда следующую обрабатываемую строку P - Вывести содержимое основного буфера до следующего символа перевода строки

Здесь обсуждаются команды sed, которые тоже очень полезны при составлении скриптов и редактировании текстов внутри скриптов.

y/source-chers/dest-chars/ Заменить во водном потоке любой символ из source-chers на соответствующий ему символ из dest-chars. Другими словами, третий символ из source-chers заменить на третий символ изdest-chars. Строки source-chers и dest-chars должны содержать одинаковое число символов. Например, команда  echo жужжал | sed y/жул/gul/  даст в результате  guggаl

l Вывести основной буфер в стандартной форме: не изображаемые символы выводятся в виде восьмеричных кодов, которым предшествует обратный слеш; длинные строки будут разбиты на более мелкие строки (места разбиения будут показаны обратными слешами); конец строки отмечается символом $ (знак доллар). Например,

$ echo "ЖужжалиБабочкиЖужжалиБабочки" | sed -n l

\366\325\326\326\301\314\311\342\301\302\317\336\313\311\366\325\326\

\326\301\314\311\342\301\302\317\336\313\311$

Как видим Кириллица распозна©тся как не изображаемые символы.

filename Прочесть файл с именем filename и поместить его в выводной поток в очередном цикле чтения вводного потока. Если файл с именем filename не может быть прочитан по любым причинам, то не выда©тся никакой диагностики, а файл рассматривается как файл с═нулевой длиной.

wfilename Записать основной буфер в файл с именем filename (мне удалось проверить эту команду, когда я убрал пробел между командой и именем файла).

  1. Регулярні вирази в програмних продуктах LibreOffice та TotalCommander.

Пошук в librOffice. Повертає позицію текстового сегмента в рядку символів. Можна встановити початкову позицію в якості опції. Пошук здійснюється без урахування регістра кожен символ який потрібно знайти передує символом \. Можна переключити автоматичну оцінку регулярних виразів. Синтаксис SEARCH("FindText"; "Text"; Position).

FindText це текст для пошуку.

Текст текст, в якому пошук буде відбуватися.

Додаткові характеристики:

\ - сприймає додаткові символи як звичайні символи, а не службові.

\> - Тільки знайти термін, якщо він з'являється в кінці слова. Наприклад  "book\>" знайде "checkbook", але не "bookmark".

\ < - Тільки знайти термін, якщо він з'являється на початку слова. Наприклад  "\<book" знайде "bookmark", але не "checkbook".

& or $0 Додавання рядка, знайденої за допомогою пошуку в пошук вікна в термін Замінити на поле, коли ви робите заміни.

\xXXXX - Представляє особливий характер на основі його чотиризначного шістнадцяткового коду (XXXX).

Код для спеціального символу залежить від використовуваного шрифту. Ви можете переглянути код, вибравши Вставка - Спеціальний символ .

{2} – кількість повторень символи який передує даним дужкам Приклад  "tre{2}" знайде і виділить"tree".

({1,2} – мінімальна і максимальна кількість повторень).

^ [: Цифри:] {3} $

^ Означає, що фраза повинен бути на початку абзацу,

[: Цифри:] відповідає будь десяткової цифри,

{3} означає, що фраза повинно бути рівно 3 копій "цифру",

$ Означає, що фраза повинен закінчитися пункту.

Total Commander підтримує регулярні вирази в наступні функції: - Команди - пошук (в ім'я файлу і його вміст) - У Lister - В Групове перейменування файлів - У діалоговому вікні вибору

Регулярні вирази складаються зі звичайних символів та спеціальних символів, так звані мета-символами. Наступні символи є мета-символи або початкової частини мета-символи:

. \ () [] {} ^ $ + *? (Тільки в класах символів: -)

Meta-characters

Here is a list of the most important meta-characters:

^

Line start

$

Line end

.

Any character

\w

буква, цифра або знак підкреслення  _

\W

протилежність \w

\d

цифри

\D

немає цифр

\s

роздільник слів (пропуск, табуляція тощо)

\S

НЕ роздільник слів

\b

знаходить кордон слова (комбінації \s і \S)

\B

протилежність  \b

Modifiers

Modifiers are used for changing behaviour of regular expressions.

(?i)

Ігнорувати Upper-/lowercase In Total Commander,  це значення за замовчуванням для імен файлів.

(?-i)

З урахуванням регістру відповідності

(?g)

Перемикачі на "жадібний" режим (включений за замовчуванням)

(?-g)

Вимкнення "жадібний" режим, так що "+" означає те ж, +?"

The other modificators are not relevant for Total Commander, because the program only supports searching within one line.

Total Commander uses the free Delphi library TRegExpr by Andrey V. Sorokin: http://regexpstudio.com/ Some of the above explanations are from the help file for this library.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]