【问题标题】:Sending Perl formatted output to less将 Perl 格式的输出发送到 less
【发布时间】:2012-03-29 05:14:25
【问题描述】:

我已经定义了这样的格式:

# 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
.

当我调用 write 时,当我打印到 STDOUT 时,一切都很好,但是我正在处理大量数据并且显示的时间超过页面;我或其他人检查它的理想方法是少用。当我将程序的输出通过管道传输到 less 时,^L 字符会在每个新输出页面的标题之前打印。

截图:

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

任何帮助将不胜感激。

【问题讨论】:

  • 你可以给一个特殊的变量$=分配一个大的值来表示你的页面有很多行。但是你会丢失输出中每一页顶部的标题字符串,因为只有一页
  • 我会忽略换页并继续生活。

标签: perl format less-unix


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-17
    • 2019-06-30
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    相关资源
    最近更新 更多