端末ウィンドウに収まる可能性のある多くのファイル(head
動的行数を含むファイルなど)を表示したいです。
複数行で囲む行がなく、プロンプトに1行が必要な場合に使用できますhead -n $(($(tput lines)-1))
。
上記の仮定を必要としない解決策はありますか?
編集:このソリューションは非対話型と見なされ、less
私が知っている限り機能しません。
編集2:このソリューションは、テキストの色付けのためのANSIエスケープシーケンスなど、印刷されない文字も理想的に正しく処理する必要があります。
答え1
あなたはできます包まれたfold
、head
次のようになります。
onepage () {
fold -w "$(tput cols)" -s "$@" |
head -n "$(($(tput lines)-1))"
}
あるいは、pr
.assuming GNUを使用することもできますpr
。
pr -l "$((LINES - 1))" +1:1 -t
-l ...
- ページの高さを$LINES
-1に設定します。+1:1
最初のページから始めて、最初のページまで印刷します。-t
- ヘッダーを印刷しないでください。
答え2
おそらくこのプログラムを使用していると思います。less
端末で次のように入力します。
less nameOfTheTextFile
テキストファイルの最初の行から始めて、利用可能なすべての適切な行を表示します。