SED

Тема в разделе "WASM.UNIX", создана пользователем Minzdrav, 7 сен 2017.

  1. Minzdrav

    Minzdrav Well-Known Member

    Публикаций:
    0
    Регистрация:
    21 мар 2017
    Сообщения:
    1.082
    Вот есть редакторы, ed или ex, и sed.
    Sed от первых двух отличается тем что он "инвентированный".

    Википедия https://ru.wikipedia.org/wiki/Sed пишет:
    "Набор команд sed сделан по образцу редактора ed, однако необходимо помнить о его инвертированности. Например, команда 25d редактора ed означает «идите к строке 25 и удалите её», в то время как та же команда sed означает «если это строка с номером 25, то удалите (не выводите) её»".

    Что это за инвертированность? Каким образом она меняет смысл команд?
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Там же:
     
  3. CodeTaoPro

    CodeTaoPro New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2017
    Сообщения:
    1
    Да нет, это у переводчика или автора статьи мозг инвеРтированый от простого и понятного изложение материала и мысли. То что он написал можно понять двумя способами и оба правильные - число перед командой невозможно интерпретировать без команды - то есть читать следует такой паттерн с конца( что интерпретатор через стек и делает); - второе что Sed не выполняет одну команду за другой, а то что он над каждой строкой входящего файла выполняет все команды скрипта, и поэтому номер перед командой можно рассматривать как условием ее запуска.

    Извините за любопытство - вы знаете ed и ex?
     
  4. Minzdrav

    Minzdrav Well-Known Member

    Публикаций:
    0
    Регистрация:
    21 мар 2017
    Сообщения:
    1.082
    Чтобы понимать язык википедии надо быть старым профессором,
    вроде Рмна. Я в большинстве случаев ничего не понимаю что там
    пишут.

    Немного печатал в ex. Сейчас заинтересовался sed`ом. Да и ex надо
    бы доучить. Кого этим удивишь? ed использовался когда ещё небыло
    мониторов и выхлоп распечатывал телеграф, вы это знаете конечно.
    ex появился как рсширение по работе с монитором. И это часть любой
    позикс системы, потому что они с vi срощены в одну программу. Если
    в ex набрать :vi то перейдёшь в ви. Если в vi просто набрать Q прямо
    в командном режиме, прыгнешь в ex. Что озадачило бы многих.

    КодеТаоПро, а в ed команды читались не с конца?
    Ты можешь объяснить как для тормоза?
    И какое практическое отличие в том что sed проделывает
    над каждой строкой? Ну тоесть в чём различие, между
    ними, для того кто пользуется обоими программами?
     
  5. Minzdrav

    Minzdrav Well-Known Member

    Публикаций:
    0
    Регистрация:
    21 мар 2017
    Сообщения:
    1.082
    Кажется немного начинаю въезжать... sed со строками работает. Что некоторые считают за инвертированность.
     
  6. neutronion_old_school

    neutronion_old_school Попугай Сильвера

    Публикаций:
    0
    Регистрация:
    23 июл 2017
    Сообщения:
    411
    Очень трудно въезжать в вопрос, если не поставлена конкретная проблема.