「less」コマンドが標準入力からデータを読み取れないのはなぜですか?

「less」コマンドが標準入力からデータを読み取れないのはなぜですか?

このコマンドはless < brown_fox.txtデータを読み取り、brown_fox.txt画面に印刷します。しかし、標準入力またはキーボードからデータを読み取るために少ないコマンドを使用するにはどうすればよいですか?

私は次のコマンドを試しました。

less
less <&0

しかし、それらのどれも成功しませんでした。

答え1

読むには、stdin次のものを使用できます。

less -

ただし、これは他のコマンドの出力にパイプする場合に適していますless。キーボードで入力することも可能ですが、デッドゾーンに入力することになり、 を押してCtrl-Cコントロールを less に戻す必要があるため、この使い方はかなり良いです。難しいです(無意味ではありませんが)。さらに、これは文書化されておらず、まったく移植可能ではないかもしれません!

たぶんあなたがlessそれを読むべき理由を拡張したいですかstdin

答え2

にコマンドを送信する場合は、コマンドラインから次のように使用lessできます。+

less +G somefile

ls -l | less +G

これは、メインプロンプトでコマンドを開いて入力するのと同じですlessG


入力時にページが付けられた情報について話している場合は、lessheredocを使用できますが、そのユースケースはわかりません。

less << EOF
hello
world
EOF

関連情報