コマンドラインから画面の半分を消去する

コマンドラインから画面の半分を消去する

端末を消去する方法はありますか?しかし、プロンプトを画面の上部に置かずに途中に置きますか?clearデフォルトでは、すべてのコマンドラインパラメータが無視されるようです。

これを行う方法があると思いましたが、tput見つかりませんでした。

ベストアンサー1

tputたとえば、次を使用してカーソルを画面上の特定の行に移動できます。

tput cup 11 0

12行目に移動します(値は0から計算を開始します)。

同様にtput、この機能を使用すると、その位置から画面の終わりまで消去できますed。組み合わせ、

tput cup 11 0 && tput ed

たぶんそれはあなたが望むものかもしれません。

画面の中間表示に移動するには、最初の数字が返されます。

stty size

(ほとんどのシステムでは)画面の行数です。以下をコマンドに追加します。

tput cup $(stty size|awk '{print int($1/2);}') 0 && tput ed

このclear計画は次のように異なりますtput ed

  • カーソルを次に移動します。位置(左上)と
  • その時点から画面の終わりまでクリアします。

注:一部のプラットフォームではtput edずっと前に解決された問題が原因で動作しないことがあります。このような場合、curses/ncurses 構成をアップグレードすると問題が解決します。

おすすめ記事