sed Потоковый редактор Симлинк на: [ ToyBox ] Тип файла: команда Комментарии Синтаксис команды: $ sed опции -e команды файл Параметры: -n, --quiet - не выводить содержимое буфера шаблона в конце каждой итерации; -e - команды, которые надо выполнить для редактирования; -f - прочитать команды редактирования из файла; -i - сделать резервную копию файла перед редактированием; -l - указать свою длину строки; -r - включить поддержку расширенного синтаксиса регулярных выражений; -s - если передано несколько файлов, рассматривать их как отдельные потоки, а не как один длинный. У утилиты есть два буфера, это активный буфер шаблона и дополнительный буфер. Оба изначально пусты. Программа выполняет заданные условия для каждой строки в переданном ей файле. sed читает одну строку, удаляет из неё все завершающие символы и символы новой строки и помещает её в буфер шаблона. Затем выполняются переданные в параметрах команды, с каждой командой может быть связан адрес, это своего рода условие и команда выполняется только если подходит условие. Когда всё команды будут выполнены и не указана опция -n, содержимое буфера шаблона выводится в стандартный поток вывода перед этим добавляется обратно символ перевода строки. если он был удален. Затем запускается новая итерация цикла для следующей строки. Если не используются специальные команды, например, D, то после завершения одной итерации цикла содержимое буфера шаблона удаляется. Однако содержимое предыдущей строки хранится в дополнительном буфере и его можно использовать. 2. Адреса sed Каждой команде можно передать адрес, который будет указывать на строки, для которых она будет выполнена: Если для команды не был задан адрес, то она будет выполнена для всех строк. Если передан один адрес, команда будет выполнена только для строки по этому адресу. Также можно передать диапазон адресов. Тогда адреса разделяются запятой и команда будет выполнена для всех адресов диапазона. 3. Синтаксис регулярных выражений Вы можете использовать такие же регулярные выражения, как и для Bash и популярных языков программирования. Основные операторы, которые поддерживают регулярные выражения sed Linux: 4. Команды sed Утилите можно передать несколько команд, для этого их надо разделить точкой с запятой или использовать две опции -e. |