在less中对打开的文件运行我自己的命令。是否可以?

dev*_*ium 3 less

我想知道是否可以通过命令运行我自己的less命令。有了这个,我的意思是能够打开一个文件less,然后在保持屏幕原样的同时对我看到的内容(甚至整个文件,如果需要的话)运行我的一些命令。例如,我希望能够运行不同的脚本,以不同的方式为我当前看到的内容着色,或者显示/隐藏文件中的某些行。

我知道我每次都可以进行不同的运行,cat <file> | my-script | less -R但这并没有给我less提供的类似编辑器的体验。

Gil*_*il' 5

您可以|在 less 中使用该命令通过不同的程序来管理文件。

  1. |
  2. 输入标记字母 或^$.
  3. 键入要执行的 shell 命令。
  4. Enter

只有当前位置和标记之间的文件部分被管道传输。标记可以是^$分别表示文件的开头和结尾,也可以是用m命令定义的位置。如果标记在此之前,则当前位置为屏幕底部的行,否则为屏幕底部的行。特别是,要管道整个文件,请使用<|$mycommand>|^mycommand将位置设置为文件的一端,并将标记设置为另一端。要仅管道显示在屏幕上的行,请使用标记.

命令的输出不会停留在屏幕上;如果你想用 less 浏览输出,你需要启动另一个实例,例如rot13 | less. 当你退出第二个 less 实例时,你会回到第一个实例。无法通过从当前实例通过管道传输的数据替换当前实例的内容。要查看颜色,请记住运行less -R.