Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Застосування регулярних виразів для обробки тексту. Потоковий текстовий редактор SED. Опис опцій, адресація приклади




Sed -- это неинтерактивный строчный редактор. Он принимает текст либо с устройства stdin, либо из текстового файла, выполняет некоторые операции над строками и затем выводит результат на устройство stdout или в файл. Как правило, в сценариях, sed используется в конвейерной обработке данных, совместно с другими командами и утилитами.

Sed определяет, по заданному адресному пространству, над какими строками следует выполнить операции. [1] Адресное пространство строк задается либо их порядковыми номерами, либо шаблоном. Например, команда 3d заставит sed удалить третью строку, а команда /windows/d означает, что все строки, содержащие "windows", должны быть удалены.

Полезен для:

  • Редактирования очень больших файлов;
  • Редактирования файлов любой величины, если последовательность команд редактирования является слишком длинной и сложной и, следовательно, неудобной для выполнения интерактивного редактирования.
  • Выполнения множества раз одной и той же функции редактирования.

· SED копирует строку из input (стандартный или указываемый набор файлов) в PATTERN SPACE (некоторая область), и к этой строке применяет все команды, адреса которых попадают в PATTERN SPACE. ЗатемPATTERN SPACE копируется в output. (Фактически в PATTERN SPACE находится одна строка, за исключением команды N, см.4. Функции SED)

· Формат:

· SED [-n] [-e script] [-f sfile] [files]

· script - набор команд редактирования SED, который может содержать до 200 команд или до 10000 байт.

· sfile - файл со скриптом SED.

· files - файлы, предназначенные для SED -редактирования.

· -n - указывает, что в output выводятся не все строки, но только те, к которым применялась команда p. (См. 4.Функции SED. и 5.Функция контекстной замены.)

· Флаг -e может быть опущен, если он присутствует один.

· Команда SED:

· [address[,address]] function [arguments]

· адрес адрес функция аргументы

Доступны следующие опции:

-E Интерпретирует регулярные выражения как расширенные (современные), регулярные выражения чаще, чем основные регулярные выражения. Страница документации на
re_format(7) полностью описывает оба формата.

-a Файлы перечисленные как параметры функции ``w'' создаются (или удаляются)
прежде, чем начнется процесс по умолчанию. Опция -a заставляет sed откладывать открытие каждого файла до тех пор, пока команда содержащая связную функцию ``w'' не применяется к строке ввода.

-e command Добавляет команды редактирования определенные аргументом command, к списку команд

-f command_file Добавляет команды редактирования найденные в файле command_file к списку команд. Каждая команда редактирования должна быть перечислена в отдельной строке.

-i extension Редактирует файлы с замещением, сохраняя резервную копию с указанным расширением. Если расширение не указано (нулевой длины), резервная копия не будет сохраняться. Не рекомендуется присваивать нулевое расширение к замещаемым файлам, поскольку вы рискуете полностью или частично повредить файл, когда место на диске исчерпано.

-l создает буфер выходных строк

-n по умолчанию, каждая линия ввода выводиться на стандартный вывод, после того как были применены все команды. Опция -n отменяет это поведение.

Адресация в командах SED

С помощью адресации происходит отбор строк для редактирования.

Адрес:

  • Десятичный номер строки;
  • $ - последняя строка input;
  • Регулярное выражение.

Если адреса не указаны, то команда применяется ко всем pattern space;

Если присутствует один адрес, то команда применяется ко всем тем pattern space, куда попадает этот адрес;

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

Sed использует ключ -e для того, чтобы определить, что следующая строка является инструкцией, или набором инструкций, редактирования. Если инструкция является единственной, то использование этого ключа не является обязательным.

 


 





Поделиться с друзьями:


Дата добавления: 2016-04-03; Мы поможем в написании ваших работ!; просмотров: 401 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Не будет большим злом, если студент впадет в заблуждение; если же ошибаются великие умы, мир дорого оплачивает их ошибки. © Никола Тесла
==> читать все изречения...

2539 - | 2234 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.