질문
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