Как несколько команд заданы для ex из командной строки?

Я ищу использовать ex-режим vim для сценария, который я пытаюсь написать, но я не могу понять синтаксис, который позволит мне написать несколько команд.

Мой код выглядит примерно так:

ex -c 'normal! 2gg19|^V49gg59|y' geom.inc 

Таким образом, это просто входит в ex-режим для файла geom.inc, выделяет блок текста и блокирует этот текстовый блок. Все, что я хочу добавить, это то, что он закроет файл, как только он это сделает, но я не могу понять, как включить дополнительную команду для закрытия файла. Я вообще знаю «|» используется для объединения вместе команд, но никакая комбинация, которую я попробовал, не сработала. Обычно это заставляет думать, что одной из команд является другой файл.

  • Обработанный файл Sed отображается по-разному в vi vs cat
  • Как заменить поля из файла_А полями из файла_B
  • Поиск и замена управляющих символов (^ @, ^ M, ^ I ...) в vi
  • Заменить косую черту «/» в файле
  • В чем разница между «нахождением» и «до» в vim?
  • Может ли vim предупредить о переполнении tabpagemax?
  • Ex и Vi: буферы и регулярные выражения
  • Vim - как увеличить число в визуальном блоке?
  • 3 Solutions collect form web for “Как несколько команд заданы для ex из командной строки?”

    Я делал глупые ошибки. Как предлагает @Jeff Schaller, несколько подсказок -c позволят использовать несколько команд. Итак, мой рабочий пример выглядит так.

     ex -c 'normal! 2gg19|^V49gg59|y' -cwq geom.inc 

    Когда я вхожу в ex mode (ex), запросите команду (-c), определите блок («normal! 2gg19 | ^ V49gg59 | y», где normal! Разрешает использование регулярных команд vi, 2gg19 | означает переход во вторую строку и 19-й столбец ^ V входит в визуальный блок, 49gg59 | перемещается в 49-ю строку и 59-й столбец, а y блокирует блок), а запрос вызывает другую команду для записи и выхода (-cwq).

    Просто поместите команду «x» или «wq» в конец

     ex -c execute 'normal! 2gg19|^V49gg59|y|x' geom.inc 

    Я склонен подключать команды, например:

     $ echo ' 0r !seq 10 w test ' | ex $ cat test 1 2 3 4 5 6 7 8 9 10 
    Interesting Posts

    Когда sh является символической ссылкой на bash или тире, bash ограничивает себя соблюдением POSIX, поэтому он должен быть на 100% совместим с sh?

    Как увеличить количество массивов семафоров в Linux?

    Почему `find` не удаляет найденные файлы?

    Размер увеличения XFS

    Что вы можете сделать с файлом без запуска отметки «Изменить»?

    Как связаны модули ядра с версией ядра?

    Список пакетов, исходящих из определенного Codename или Suite (основанные на apt системах)

    Как использовать переменные в подстановке с регулярными выражениями vim

    Как позволить Qemu автоматически выбрать прослушивающий порт для Spice?

    использование левой кнопки мыши для перемещения окна может вызвать замораживание (XFCE4 / Ubuntu 15.10)

    Как использовать аппаратный узел OpenVZ 7 для кеширования имен с помощью типов * all * контейнеров?

    Ошибки орфографии в файле?

    Короткая простая команда для создания группы, если она еще не существует?

    Что такое папка 't'?

    'nc', используя ~ 100% CPU при передаче файла FIFO

    Linux и Unix - лучшая ОС в мире.