0

カーソルの後のすべてを削除したい。現在の行だけでなく、現在の位置の後の残りのすべての文字。

tput sc; ll; tput rc:

root@test:~# tput sc; ll; tput rc
root@test:~# {CURRENT_CURSOR_POSITION}
drwx------  5 root root  4096 Feb 23 16:34 ./
drwxr-xr-x 25 root root  4096 Jul  1  2021 ../
-rw-------  1 root root    59 Feb 23 16:34 .bash_history
-rw-r--r--  1 root root  3106 Dec  5  2019 .bashrc
drwxr-xr-x  3 root root  4096 Feb  8 17:07 .local/
-rw-r--r--  1 root root   161 Dec  5  2019 .profile
drwxr-xr-x  3 root root  4096 Jun 21  2021 snap/
drwx------  2 root root  4096 Feb 22 11:56 .ssh/
-rw-------  1 root root 12976 Feb  8 17:07 .viminfo

これにより、カーソルが 2 行目に残り、出力がll残ります。

私はどちらかへの道を探しています

  1. tput el保存された位置に到達するまでを使用して各行を削除するため、コマンド チェーンは次のようになりますtput sc; ll; while_deleting; tput rctput elこれは、冗長に見えるが大丈夫なはずのすべての行を呼び出す可能性があります。

  2. 保存した位置に戻ってからすべて削除します。

how to delete all characters after cursor in shellBash: delete from cursor until end of line with a keyboard shortcutなどの多くの回答を調べましたが、すべての回答は現在の行ではなく、現在の行の削除に焦点を当てています休み。

4

1 に答える 1