답변1
그런건 없습니다. 한번 보시면 됩니다ctlseq
문서에는 아무 것도 언급되지 않습니다단어단어. 지우는 데 어떤 배경색을 사용할지, 내용을 오른쪽 단어에서 왼쪽으로 이동할지 여부에 대한 질문도 있습니다. 터미널의 오른쪽 가장자리에 단어를 배치하는 것을 고려해야 할 수도 있습니다.
일부 옵션은 다음과 같습니다.
삭제하려는 단어의 셀 수만큼 BS 문자를 보낸 다음 가능한 한 많은 SPC를 보낸 다음(현재 배경색을 사용함) BS 문자를 다시 보냅니다(커서를 다시 뒤로 이동).
$ printf 'foo bar\b\b\b \b\b\b+\n' foo +
소프트웨어는 거의 모든 터미널에서 실행됩니다.
동일하지만 BS 시퀀스를 사용하는 대신
tput cub x
(x
셀 수는 어디입니까)를 사용하여 커서를 해당 양만큼 뒤로 이동합니다. 다음을 사용하여 이러한 셀을 삭제할 수 있습니다tput ech x
(터미널에 따라 현재 배경색이 있거나 없음).$ printf 'foo bar'; tput cub 3; tput ech 3; printf '+\n' foo +
대신 줄 끝까지
tput ech x
지우기를 사용하거나tput el
tput dch x
삭제x 셀(그리고 그 뒤의 내용을 왼쪽으로 이동)
( tput
여기에는 terminfo 데이터베이스에 대한 쉘 인터페이스가 있습니다. 이스케이프 시퀀스를 하드코딩하지 않고 해당 언어에 해당하는 것을 사용하는 것이 아이디어입니다.)
backward-kill-word
쉘의 일부 위젯( script
예: 출력 로깅) 을 살펴보면 readline
이동 및 dch
삭제에 BS를 사용하고 zsh
BS와 재작성을 조합하여 사용하는 것을 볼 수 있습니다 cub
. 절대 열 위치 지정( ) tcsh
을 수행하는 것으로 보이며 삭제를 위해 ksh93은 CR을 보내고 전체 행을 다시 작성합니다.hba
dch
답변2
나는 그런 명령을 본 적이 없다. 생각해 보면 단어를 삭제하는 것은 다른 작업보다 훨씬 복잡하고 다른 작업은 화면에 표시된 내용에 대해 어떤 식으로든 신경 쓰지 않는 것 같습니다. 예를 들어, 단어의 끝은 무엇입니까? '_'? '-'? '.'?