man의 저장된 파일 출력에 불필요한 Ctrl+H가 있습니다.

man의 저장된 파일 출력에 불필요한 Ctrl+H가 있습니다.

그런 다음 man less(선택적으로 h"몇 가지 명령 요약"을 클릭) 텍스트를 표시하기 man위한 것이므로 텍스트를 파일에 저장을 less클릭했습니다 .s

emacs나 vi에서 파일을 열면 원치 않는 Ctrl+H가 나타나고 일부 문자가 불필요하게 반복됩니다. 왜 그런 겁니까? "적은 명령 요약"을 올바르게 저장하는 방법은 무엇입니까?

man less출력을 파일로 리디렉션하는 데 문제가 없는 이유는 무엇입니까 ?

감사해요.

여기에 이미지 설명을 입력하세요.

답변1

이는 1970년대 텔레타이프 기계(ttys!)로 거슬러 올라갑니다.

X<backspace>X( ASCII BS 문자로) 텔레타이프 기계에 전송하여 ^HX를 쓰고 문자를 반환한 후 자체 위에 X를 다시 쓰게 합니다. 처럼 보이도록 두 번 썼습니다.용감한.

마찬가지로 밑줄의 경우 다음 과 같이 쓸 수 _<backspace>X있습니다 .X밑줄 .

roff, 사용된 조판 시스템은 man1970년대에 Unix용으로 작성된 최초의 시스템 중 하나였습니다. 왜냐하면 이것이 Unix 작성자가 돈을 버는 방식이었기 때문입니다.

man텔레타이프에 then을 사용하면 이러한 시퀀스를 굵게 표시하고 밑줄을 그어 보낼 수 있습니다.

텔레타이프라이터는 곧 음극선관 터미널로 대체되었습니다. 거기에서 BS 문자는 커서를 뒤로 이동하고 문자는 아래 문자를 덮어씁니다.

그러니 보내 X<backspace>X거나 _<backspace>X그냥 보여주세요 X. CRT는 또한 화면 공간이 제한되어 있습니다(텔레타이프의 종이와 달리).휴대용 소형 무선 호출기출생과 같습니다 more.

X<BS>X호출기는 이러한 시퀀스를 이해하고 해당 이스케이프 시퀀스를 사용하여 터미널에 굵은 글씨나 밑줄을 표시하도록 지시하도록 향상되었습니다 .

more, less, 를 포함한 오늘날의 호출기는 most여전히 w3m이러한 시퀀스를 이해합니다.

man출력이 호출기로 전송될 때 굵게 또는 밑줄을 표시하는 데 여전히 사용됩니다.

man(적어도 일부 구현에서) 출력이 터미널로 전송되지 않는 것을 감지 하면 호출기를 호출하지 않고 이러한 시퀀스를 사용하지 않으므로 파일로 리디렉션할 때 해당 시퀀스가 ​​표시되지 않습니다.

이러한 시퀀스를 삭제하려면 이 col -b명령을 사용하면 됩니다.

관련 정보