tldr | xclip 출력이 타임스탬프에 대한 이스케이프 코드처럼 보이는 이유와 이를 제거하는 방법은 무엇입니까?

tldr | xclip 출력이 타임스탬프에 대한 이스케이프 코드처럼 보이는 이유와 이를 제거하는 방법은 무엇입니까?

질문

tldr의 출력을 클립보드에 복사한 다음 텍스트 편집기에 붙여넣고 싶습니다.

나는 다음을 실행한다:tldr pwd | xclip -sel clip

클립보드에서 붙여넣으면 다음과 같은 결과가 나타납니다.

pwd
[0mPrint name of current/working directory.More information: https://www.gnu.org/software/coreutils/pwd.

 - [23;22;24;25;32mPrint the current directory:
[23;22;24;25;33m   pwd
[0m
 - [23;22;24;25;32mPrint the current directory, and resolve all symlinks (i.e. show the "physical" path):
[23;22;24;25;33m   pwd -P
[0m[0m

타임스탬프를 없애고 싶고 왜 이런 일이 발생하는지 알고 싶습니다.

관찰하다

  • tldr pwd(xclip에 전달되지 않음) 타임스탬프가 표시되지 않음
  • man pwd | xclip -sel clip타임스탬프 없이 붙여넣기
  • 그래서 저는 tldr을 xclip에 전달할 때만 이런 일이 발생한다는 것을 알았습니다.
  • 타임스탬프는 이스케이프 코드처럼 보입니다.

환경

  • 정적 호스트 이름: debian
  • 아이콘 이름: 컴퓨터 바탕화면
  • 섀시: 데스크탑
  • 운영 체제: Debian GNU/Linux 10(버스터)
  • 커널: 리눅스 4.19.0-17-amd64
  • 아키텍처: x86-64

답변1

이는 타임스탬프가 아닙니다. 색상 코드입니다.

~에 따르면v0.91 변경 로그, 2021년 7월에는 환경 변수를 tldr설정하거나 새로운 명령줄 옵션을 사용하여 색상을 비활성화하는 기능이 통합되었습니다 .NO_COLOR--no-color

안타깝게도 v0.91 tldr많은데비안의 현재 버전(0.6.4)보다 최신 버전이므로 데비안 패키지를 제거하고 직접 컴파일/설치하거나(*) 새 버전을 패키징하도록 요청하는 버그 보고서를 제출하세요. 아니면 둘다.

이것이 장기적인 해결책입니다. 단기적으로는 sed@GMaster의 답변과 같은 출력에서 ​​색상 코드를 제거하는 방법을 사용하는 것이 가장 좋은 옵션일 것입니다.

(*) 일반적으로 프로그램의 패키지 버전에서 자체 컴파일 버전으로 전환하는 것을 권장하지 않습니다(그렇게 하면 호환성 문제나 향후 업그레이드 문제가 발생할 수 있음). 그러나 비활성화할 수 없는 하드코딩된 색상 코드는 UI를 짜증나게 합니다. 역겹다.

답변2

에서 생성한 색상 코드입니다 tldr. 아쉽게도 tldr색상을 끌 수 있는 옵션은 없습니다. 하지만 tldr출력을 전달 sed하고 색상 코드를 제거할 수 있습니다. 이 시도:

tldr pwd | sed $'s,\x1b\\[[0-9;]*[a-zA-Z],,g' | xclip -sel clip

또는 언급된 jpa 패키지를 기반으로 합니다.

# install colorized-logs package (for ubuntu)
sudo apt install colorized-logs

tldr pwd | ansi2txt | xclip -sel clip

관련 정보