printf "\ec"
これだけでOK
以下試行錯誤
printf "\e[H\e[3J\e[J"
printf
: echo -e
は改行を生成するが、printf
は生成しない。どちらもエスケープシーケンスを処理できる。
\e
: ESC (エスケープキーが発行する文字)
\e[H
: ターミナルのカーソルをターミナル画面の左上に移動する。
\e[3J
: 画面外の文字(スクロールすると見える部分)をクリアする。
\e[J
: カーソル(ここでは左上)から画面の右下までの文字をクリアする。
cat
で標準出力を読み込ませ、上記を入力する (\e
にはエスケープキーを用いる。大文字は大文字にする。) と、同様に画面をクリアできる。