뭔가를 입력할 때마다 xclip
끝에 새 줄이 나오지 않도록 할 수 있는 방법이 있나요?
해결 방법으로 사용하고 있지만 echo -n $(CMD_TO_COPY) | xclip
무언가를 복사하고 싶을 때마다 이 모든 것을 입력해야 한다는 것은 약간 짜증나는 일입니다.
답변1
매뉴얼 페이지에 따르면 원하는 작업을 정확하게 수행하는 ( ) 옵션이 xclip
있습니다 .-rmlastnl
-r
echo hello | xclip -i -r
답변2
xclip
버전 0.13부터 후행 개행 문자를 제거하는 옵션이 있지만, Larsks가 이미 지적한 것처럼 언제든지 원하는 처리를 수행하는 함수를 정의할 수 있습니다. 예를 들면 다음과 같습니다 .
clipboard() { printf %s "$(cat -- "$@")" | xclip -sel c; }
clipboard() { printf %s "$(cat -- "$@")" | xsel -b; }
(여기서 명령은 삭제를 대체합니다.모두후행 개행 문자 및 일부 쉘에서는 bash
모두 NUL 문자).
또는 다음과 같이 후행 개행 문자를 제거하십시오 xclip -r
.
clipboard() { cat -- "$@" | perl -pe 's/\n$// if eof' | xclip -sel c; }
다음과 같이 사용됩니다.
cmd | clipboard
clipboard <<< "$var"
clipboard some-file and-some-other
어떤 경우 에라도,사용echo
, 또는따옴표 없이 명령 대체당신처럼방법이 잘못되었습니다.echo -n $(CMD_TO_COPY)