perl - 将 Perl 格式的输出发送到 less

标签 perl format less-unix

我定义了这样的格式:

# header format
format STDOUT_TOP = 
pid    ppid   start_addr   uid   gid   state     vsz   rss     name 
--------------------------------------------------------------------------
.

# data format
format STDOUT = 
@>>>  @>>>   @>>>>>>>>>>  @>>>  @>>>  @>>>    @>>>>>  @>>>  @<<<<<<<<<<<<<<<<<<<
$pid, $ppid, $h_next,     $uid, $gid, $state, $vm,    $rss, $name
.

当我打印到 STDOUT 时,当我调用 write 时一切正常,但我正在处理大量数据并且需要多页才能显示;对我或其他人来说,检查它的理想方式是少用。当我将程序的输出通过管道传输到 less 时,^L 字符会在每个新输出页的页眉之前打印出来。

截图: output of my program piped to less

有什么办法解决这个问题吗?因为如果打印该字符,那么我的标题与我的数据未对齐。

如有任何帮助,我们将不胜感激。

最佳答案

这是一个 ASCII 换页符。它可能在两种情况下都被打印出来,但 less 实际上是 显示 它。根据perlformperlvar , perl 正在输出 $^L 的内容(或 use English 下的 $FORMAT_FORMFEED)。尝试将该 var 设置为空字符串或换行符。

关于perl - 将 Perl 格式的输出发送到 less,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9919439/

相关文章:

multithreading - Perl线程缓慢消耗内存

perl - 如何将 Perl 脚本的 stdout 和 stderr 输出重定向到 Windows 上的文件?

zend-framework - Zend Framework,将 URL 的扩展名映射到格式参数?

linux - 在 less 命令中关闭计数行号

node.js - 用于 UNIX 系统的较少样式的 Markdown 查看器

perl - 从另一个 Moose 对象实例化 Moose 对象的正确方法?

perl - 如何在 Perl 中遍历哈希(哈希)?

linux - 让 zless 读取空的 gz 文件

java - 安卓货币符号排序

java - 如何在 java String.ValueOf 中格式化 float