3

次のような形式を定義しました。

# 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 に出力しているときにすべてがうまく機能しますが、大量のデータを処理していて、表示するのに 1 ページ以上かかります。私や他の誰かがそれを調べる理想的な方法は、より少ないものである. プログラムの出力を less にパイプすると、出力の^L新しいページごとにヘッダーの前に文字が出力されます。

スクリーンショット: 私のプログラムの出力がlessにパイプされました

これを回避する方法はありますか?その文字が印刷されている場合、ヘッダーがデータとずれているためです。

どんな助けでも大歓迎です。

4

1 に答える 1

6

これはASCIIフォームフィードです。どちらの場合もおそらく印刷されていますが、less実際には表示されています。perlformperlvarによると、perlはの$^L(または$FORMAT_FORMFEED下の)内容を出力していuse Englishます。その変数を空の文字列または改行に設定してみてください。

于 2012-03-29T06:25:06.243 に答える