/bin/less
Ubuntu 14.04.3 LTSデスクトップオペレーティングシステムのデフォルトポケットベル(変数が設定されていない)で、$PAGER
gnome-terminal 3.6.2-ubuntu1を使用します。
たとえば、次のことを試した場合:
$ man man
表示された出力は、現在のGnome端末ウィンドウの幅に収まります。問題ありません。しかし、私がこれを行うと:
$ man man | egrep regex
出力は端末ウィンドウの幅を自動的に認識しません。端末メニューの編集>プロファイル設定>デフォルトサイズで83列を設定すると、一部の行が端末の幅に収まらず、幅に合わせて正しく調整されませんでした。その結果、いくつかの事例が生じた。
<standard input>:981: warning [p 8, 0.5i, div `3tbd1,0', 0.0i]: cannot adjust line
(上記の警告の一部の文字は警告によって異なります。おそらく、出力の他の場所にある誤った出力行を指しているためです)。
コマンドを使用すると、これは発生しないため、ポケットベルにエラーがないようですman man
。
Gnomeターミナルウィンドウの幅に準拠するという点で問題を引き起こすのはパイプですか、それともパイプのrhsですか?この問題を解決する方法はありますか?
編集1:解決策はありますか? セッションレベルでつまり、自動的に、つまりstdoutとして印刷するcmd行を入力するたびに、Gnome端末の現在のウィンドウ幅を確認する必要はありませんか?
ベストアンサー1
私は使用する:
echo $COLUMNS
sttyの代わりに。おそらくそれはあなたにも効果があるでしょう。おそらくそれはsttyに依存するでしょう。