КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Потоковый редактор sedФормат командной строки: sed [-n] сценарий [ файл...] sed [-n] [-e сценарий ]... [ -f файл_сценария ]... [ файл...] Sed — потоковый редактор считывающий строки из текстовых файлов или со стандартного ввода, изменяющий их, в зависимости от команд редактирования указанных в параметре сценарий или в файле файл_сценария и выводящий результат на стандартный вывод. Ключ -n подавляет вывод всех строк файла (производимый по умолчанию). Каждый сценарий (параметр сценарий) состоит из команд редактирования (по одной в строке) следующего вида: [адрес![,адрес3]]команда[аргументы] допускаются пробельные символы перед первым адресом и перед командой. В нормальном режиме sed циклически копирует входную строку в рабочую область (в случае, если там ничего не осталось от предыдущей команды), применяет к ней последовательно все команды сценария, чьи адресные выражения содержат данную строку, выводит результат на стандартный вывод (если не указан ключ -n) и очищает рабочую область. Некоторые команды используют область сохранения, чтобы запомнить всю рабочую область или ее часть для последующего использования. Рабочая область и область сохранения способны хранить не менее 8192 байт. Адрес либо пустое поле, либо десятичное число, означающее номер входной строки, либо знак доллара ($), соответствующий последней строке, либо контекстный адрес (который состоит из регулярного выражения предваренного и заканчивающегося некоторым ограничителем, обычно косой чертой. Командная строка не содержащая адреса применяется к каждой строке. Командная строка содержащая один адрес применяется к каждой строке соответствующей адресу. Командная строка содержащая два адреса применяется ко всем строкам начиная с соответствущей первому адресу и заканчивая соответствующей второму. Начиная с первой строки, следующей за указанным диапазоном sed снова проверяет строки на соответствие первому адресу и, в случае нахождения соответствия, процесс повторяется. Команды могут применяться к строкам не входящим в диапазон при помощи команды отрицания!. Sed поддерживает базовые регулярные выражения со следующими дополнениями: • В контекстных адресах, конструкция cREc, где c любой символ, отличный от обратной косой черты и символа новой строки, идентична /RE/. Последовательность \n соответствует символу новой строки. В следующем списке команд, максимальное число адресов для команды определено последовательностями [0addr], [1addr] и [2addr]. Аргумент text состоит из одной или более строк. Каждый символ новой строки должен быть предварен обратной косой чертой. Прочие символы новой строки удаляются. [2addr]command-list Выполнять command-list, для указанных строк. [1addr]a\text Вывести текст перед обработкой указанной строки. [2addr]b [метка] Перейти к команде:, содержащей указанную метку. Если метка пуста, перейти в конец сценария. [2addr ]c\text Удалить рабочую область. При пустом или одном адресе или в конце двухадресного диапазона вывести текст. [2addr]d Удалить рабочую область. [2addr]D Удалить начало рабочей области, до первого перевода строки включительно. [2addr]g Заменить содержимое рабочей области содержимым области сохранения. [2addr]G Добавить к содержимому рабочей области символ новой строки с последующим содержимым области сохранения. [2addr]h Заменить содержимое области сохранения содержимым рабочей области. [2addr]H Добавить к содержимому области сохранения содержимое рабочей области. [1addr]i\text Вывести текст. [2addr]l Вывести содержимое рабочей области, заменяя символы табуляции, перевода строки, обратной косой черты и т.п. на пары символов \,\a,\b,\f,\r,\t,\v. Прочие непечатные символы заменяются трехзначными восьмеричными числами предваренными обратной косой чертой. [2addr]n Вывести содержимое рабочей области на стандартный вывод и считать в рабочую область следующую входную строку. [2addr]N Добавить к содержимому рабочей области следующую входную строку. При этом изменяется текущий номер строки. [2addr]p Вывести рабочую область на стандартный вывод. [2addr]P Вывести начало рабочей области, до первого символа новой строки на стандартный вывод. [1addr]q Перейти в конец сценария и выйти. [2addr]r rfile Скопировать содержимое файла rfile на стандартный вывод до обработки следующей входной строки. [2addr]s/reg-exp/replacement/flags Подставить replacement вместо подстрок рабочей области, соответствующих регулярному выражению reg-exp. Вместо косой черты можно использовать любой другой символ. Символ амперсенда & в replacement будет заменен строкой, соответствующей регулярному выражению. Символы \n, где n цифра, будут заменены соответствующей обратной ссылкой. Могут использоваться следующие флаги: n Заменять n-ое вхождение регулярного выражения. g Заменить все вхождения регулярного выражения. p Выводить содержимое рабочей области если произведена замена. w wfile Добавить содержимое рабочей области в файл wfile если произведена замена. [2addr]t [label] Перейти к команде:, содержащей метку label, если с момента последнего чтения входной строки или последнего выполнения команды t в буфере выполнялись подстановки. Если метка опущена, перейти в конец сценария. [2addr]w wfile Добавить содержимое рабочей области к файлу wfile. [2addr]x Обменять содержимое рабочей области и области сохранения. [2addr]y/string1/string2/ Заменить все включения символов содержащихся в строке string1 соответствующими символами строки string2. Строка string1 не должна содержать повторяющиеся символы, длины строк должны совпадать. [2addr]!command Применить команду только к тем строкам, которые не принадлежат указанным адресам. [0addr]: label Команда ничего не делает. Содержит метку, на которую можно перейти командами b и t. [1addr]= Выводит номер текущей строки. [0addr] Пустая команда. [0addr]# Символ # и остальные, до конца строки, игнорируются (комментарий).
Дата добавления: 2014-12-07; Просмотров: 379; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |