Запускать мои собственные команды над открытым файлом меньше. Является ли это возможным?

Мне было интересно, можно ли запускать собственные команды из-за less команды. С этим я имею в виду возможность less открывать файл, а затем запускать некоторую команду над тем, что я вижу (или даже весь файл, если нужно), сохраняя экран таким, какой он есть. Например, я хотел бы иметь возможность запускать разные сценарии, которые будут окрашивать то, что я вижу в настоящее время разными способами, или показать / скрыть определенные строки в файле.

Я знаю, что каждый раз могу сделать другой запуск cat <file> | my-script | less -R cat <file> | my-script | less -R cat <file> | my-script | less -R но это не дает мне редакторский опыт, который less обеспечивает.

  • Как написать все строки от меньшего до файла?
  • Unhighlight Последний поиск в 'less'
  • Может ли «меньше -F» быть полезно сочетаться с инициализацией termcap?
  • Как я могу заставить меньше останавливать буферизацию ввода строки за строкой?
  • меньше всегда без учета регистра
  • Как мне сделать меньше STOP измельчения длинных строк по умолчанию?
  • Как мне сделать меньше STOP измельчения длинных строк по умолчанию?
  • Настройка `less` для отображения более длинных строк
  • less --quit-if-one-screen без --no-init
  • Unhighlight Последний поиск в 'less'
  • Как написать все строки от меньшего до файла?
  • меньше всегда без учета регистра
  • One Solution collect form web for “Запускать мои собственные команды над открытым файлом меньше. Является ли это возможным?”

    Вы можете использовать | команда меньше, чтобы передать файл через другую программу.

    1. Пресса | ,
    2. Введите букву с меткой или ^ или $ или . ,
    3. Введите команду оболочки для выполнения.
    4. Нажмите Enter .

    Только часть файла между текущей позицией и меткой передается по каналам. Знак может быть либо ^ либо $ означающим начало и конец файла соответственно, или позицию, определенную с помощью команды m . Текущая позиция – это линия на экране, если перед этим знак, а в нижней части экрана – в противном случае. В частности, чтобы <|$mycommand весь файл, либо используйте <|$mycommand или >|^mycommand чтобы установить позицию на один конец файла, а знак – на другой. Чтобы проложить линии, показанные на экране, используйте метку . ,

    Выход команды не останется на экране; Если вы хотите просмотреть результат с меньшим количеством, вам нужно будет запустить другой экземпляр, например rot13 | less rot13 | less . Когда вы выйдете из второго экземпляра меньше, вы вернетесь к первому. Невозможно заменить содержимое текущего экземпляра данными из него. Чтобы увидеть цвета, не забудьте запустить less -R .

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