The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

sed ()
  • sed (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • sed (1) ( FreeBSD man: Команды и прикладные программы пользовательского уровня )
  • >> sed (1) ( Русские man: Команды и прикладные программы пользовательского уровня )
  • sed (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
  • sed (1) ( POSIX man: Команды и прикладные программы пользовательского уровня )
  • sed (8) ( Русские man: Команды системного администрирования )
  • Ключ sed обнаружен в базе ключевых слов.
  •  

    НАЗВАНИЕ

    sed - потоковый редактор (Stream EDitor)  

    СИНТАКСИС

    sed [-n] [-V] [--quiet] [--silent] [--version] [--help]
        [-e script] [--expression=script]
        [-f script-file] [--file=script-file]
        [script-if-no-other-script]
        [file...]
    
     

    ОПИСАНИЕ

    Sed это редактор потока. Потоковый редактор используется для выполнения основных преобразований с текстом на входном потоке (файл или ввод из конвейера). Тогда как некоторые схожие редакторы (такие как ed) допускают комплексное редактирование, sed работает совершая лишь одно действие над вводом за проход и следовательно более эффективен. Благодаря этому sed в состоянии фильтровать текст в конвейере, что особо выгодно отличает его от редакторов других типов.  

    ОПЦИИ

    Sed может быть вызван со следующими параметрами командной строки:
    -V
    --version
    Сообщает версию запущенного sed, версию лицензионного соглашения, под которым он распространяется и завершает работу.
    -h
    --help
    Выводит подсказку о способе использования, вкратце сообщает о параметрах командной строки, с которыми он может быть запущен, адрес, куда можно сообщить об обнаруженных в работе программы ошибках, и затем завершает работу.
    -n
    --quiet
    --silent
    По умолчанию, sed после прохождения каждого цикла сценария распечатывает обрабатываемую область шаблона. Эти опции отключают автоматический вывод, который может быть включен лишь явным указанием ключа p для sed.
    -e сценарий
    --expression=сценарий
    Добавляет команды в сценарий к набору выполняемых команд при обработке ввода.
    -f сценарий
    --file=сценарий
    Добавляет команды содержащиеся в сценарии к набору выполняемых команд при обработке ввода.

    Если в командной строке не указан параметр -e, -f, --expressiln или --file, то первый же заданный в командной строке аргумент не-опция будет считаться сценарием для выполнения.

    Если какие-либо параметры командной строки остаются после вышеупомянутой обработки, то они интерпретируются как имена входных файлов подлежащих обработке. Имя файла - соотносится со стандартным входным потоком. Стандартный ввод обрабатывается в том случае, если никаких имён файлов не определено.  

    СИНТАКСИС КОМАНД

    Это лишь краткое резюме команд sed, призванное служить подсказкой для тех, кто уже знаком с sed; для более полного пояснения необходимо ознакомиться с другой документацией (наподобие документации texinfo).  

    Безадресные команды

    : метка
    Метка для b и t команд.
    #комментарий
    Комментарий простирается до следующего вхождения новой строки (или до конца фрагмента сценария -e)
    }
    Закрывающая скобка блока { }.
     

    Команды без адреса или с одним адресом

    =
    Распечатать номер текущей строки.
    a \
    текст
    Добавить текст, где каждое вхождение новой строки начинается со знака обратного слэша.
    i \
    Вставить текст, где каждое вхождение новой строки начинается со знака обратного слэша.
    q
    Немедленное выход из сценария sed без дальнейшей обработки любого ввода, за исключением автовывода, если он не отключен. В этом случае будет распечатан текущий набор шаблонов.
    r файл
    Добавить текст прочитанный из файла.
     

    Команды, которые принимают интервалы адресов

    {
    Начало блока команд (оканчивается знаком }).
    b метка
    Переход к метке; если метка опущена, переход) к концу сценария.
    t метка
    Если s/// сделал успешную замену, так как была прочитана последняя строка ввода и последняя команда t, то выполнить переход к метке; если метка опущена, то перейти к концу сценария.
    c \
    текст
    Заместить выбранные строки текстом, где каждое вхождение новой строки начинается со знака обратного слэша.
    d
    Удалить заданную область шаблона. Начать следующий цикл.
    D
    Удалить до первого вхождения новой строки в области шаблона. Начать следующий цикл, но пропустить считывание ввода, если там всё ещё данные из области шаблона.
    h H
    Скопировать/добавить область шаблон к удерживаемой области.
    g G
    Скопировать удерживаемую область к области шаблона.
    x
    Поменять местами удерживаемую область и область шаблона.
    l
    Огласить текущую строку в "визуально однозначной" форме.
    n N
    Прочитать/добавить следующую строку ввода в область шаблона.
    p
    Распечатать текущую область шаблона.
    P
    Распечатать до первого вхождения новой строки текущей области шаблона.
    s/регулярное_выражение/замена/
    Попытаться разыскать регулярное_выражение (regexp) в области шаблона. Если это удалось, то заместить эту часть с заменой. Замена может содержать специальный символ & для обращения к той части области шаблона, которая является соответствием, и специальные управляющие последовательности, от \1 до \9, для обращения к соответствующим разыскиваемым под-выражениям в регулярном_выражении.
    w файл
    Записать текущую область шаблона в файл.
    y/источник/цель/
    Транслитерация символов в области шаблона, которые присутствуют в источнике с соответствующими символами в цели.
     

    АДРЕСАЦИЯ

    Команды sed могут быть заданы без указания адреса, в этом случае команда выполняется для всех строк ввода; с одним адресом, в этом случае команда будет выполнена применительно строкам ввода совпадающим с адресом; или с двумя адресами, в этом случае команда будет выполнена для всех строк ввода, соответствующих заданному диапазону строк начиная с первого и заканчивая последним адресами. Три правила, касающиеся этих диапазонов адресов: используемый синтаксис адрес1,адрес2 (т.е. адреса разделены через запятую); строка, соответствующая адрес1, обрабатывается даже в том случае, если адрес2 указывает на предшествующую ей строку; и если адрес2 является регулярным выражением (regexp), то оно не будет использовано относительно строки, соответствующей адрес1.

    После адресов (или диапазона адресов) и перед командой может быть вставлен !, означающий, что команда должна быть выполнена только в том случае, если адрес (или диапазон адресов) не соответствует.

    Поддерживаются следующие типы адресов:

    номер
    Соответствует только заданному номеру линии.
    первая~шаг
    Соответствует каждой строке шаг начиная от строки первая. Например, "sed -n 1~2p" напечатает все нечётные строки во входном потоке и адреса 2~5 будут соответствовать каждой пятой строке начиная со второй. (Это расширение GNU.)
    $
    Соответствует последней строке.
    /regexp/
    Соответствует строкам подпадающим под определение регулярного выражения regexp.
    \cregexpc
    Соотвествует строкам подпадающим под определение регулярного выражения regexp. c может быть любым символом.
     

    РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ

    POSIX.2 BRE должны поддерживаться, но всё же не полностью. \n последовательность в регулярном выражении соответствует символу новой строки. Есть также некоторые GNU расширения. [XXX FIXME: необходимо многое сказать. По крайней мере необходимо дать ссылки на другие документы, которые описывают то, что поддерживается.]  

    ПРОЧИЕ ПРИМЕЧАНИЯ

    Данная версия sed поддерживает последовательность \<новая_строка> во всех регулярных выражениях, в замещающих частях команд подмены (s) и в частях источник и цель команд транслитерации (y). \ будет удалено, а новая строка сохранена.  

    СМ. ТАКЖЕ

    awk(1), ed(1), expr(1), emacs(1), perl(1), tr(1), vi(1), regex(5), [то, что должно быть написано ... XXX], sed.info, любая из множества книг по sed, sed FAQ (http://www.dbnet.ece.ntua.gr/~george/sed/sed-faq.html, http://www.ptug.org/sed/sedfaq.htm).  

    ОШИБКИ

    Сообщения об ошибках направляйте на bug-gnu-utils@gnu.org. Не забудьте указать где-нибудь в поле "Тема" письма слово "sed".  

    ОБ АВТОРЕ

    Copyright (C) 1998 Free Software Foundation, Inc. Перевод с английского выполнил Александр Блохин <sass@altlinux.ru>


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ОПЦИИ
    СИНТАКСИС КОМАНД
    Безадресные команды
    Команды без адреса или с одним адресом
    Команды, которые принимают интервалы адресов
    АДРЕСАЦИЯ
    РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
    ПРОЧИЕ ПРИМЕЧАНИЯ
    СМ. ТАКЖЕ
    ОШИБКИ
    ОБ АВТОРЕ


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру