파일 내용을 표시하지 않고 UNIX에서 파일 내용을 복사하는 방법 나는 내용을보기 위해 고양이 나 vi를 원하지 않습니다.
Windows 메모장에 다시 붙여 넣을 수 있도록 클립 보드에 복사하고 싶습니다.
액세스 제한으로 인해 해당 서버에서 다른 서버로 파일을 복사 할 수 없습니다.
파일 내용을 표시하지 않고 UNIX에서 파일 내용을 복사하는 방법 나는 내용을보기 위해 고양이 나 vi를 원하지 않습니다.
Windows 메모장에 다시 붙여 넣을 수 있도록 클립 보드에 복사하고 싶습니다.
액세스 제한으로 인해 해당 서버에서 다른 서버로 파일을 복사 할 수 없습니다.
답변:
X11 (전통적인 Unix 또는 Linux 기반 시스템에서 가장 일반적인 GUI)을 사용하는 경우 파일의 내용을 표시 하지 않고 X11 CLIPBOARD 선택 항목으로 복사 하려면 xclip
또는 xsel
유틸리티를 사용할 수 있습니다 .
xclip -sel c < file
또는:
xsel -b < file
file
CLIPBOARD X11 선택 의 내용을 저장합니다 .
UTF-8 인코딩을 사용하여 저장해야합니다. 그렇지 않으면 붙여 넣기가 제대로 작동하지 않습니다. file
가 다른 문자 집합을 사용하여 인코딩 된 경우 먼저 다음과 같이 UTF-8로 변환해야합니다.
iconv -f latin1 -t utf8 | xclip -sel c
latin1 / iso8859-1로 인코딩 된 파일의 경우 .
CUT_BUFFER로 저장하려면 (CLIPBOARD xterm
또는 PRIMARY X 선택을 요구하는 항목이없고 선택을 위해이를 처리하기 위해 프로세스를 실행할 필요가없는 경우 와 같은 일부 응용 프로그램에서 여전히 쿼리 됨 ) 요즘 그것을 사용해야합니다 :
xprop -root -format CUT_BUFFER0 8s -set CUT_BUFFER0 "$(cat file)"
에서 후행 줄 바꿈 문자를 제거합니다 file
.
GNU screen
는 readbuf
파일의 내용을 자체 복사-붙여 넣기 버퍼 (으로 붙여 넣기 ^A]
)에 넣는 명령을 가지고 있습니다. 그래서:
screen -X readbuf file
Apple OS / X 는 X11 을 사용할 수 있지만 X11 응용 프로그램을 실행하지 않으면 기본적으로 사용되지 않습니다. 당신은 사용할 수있을 것 xclip
또는 xsel
이 같은 OS / X OS / X 보오드 버퍼와 X11 클립 보드 선택을 동기화해야합니다,하지만 그건 단지의 X11 서버를 시작하는 폐기물의 비트 것입니다.
OS / X 에서이pbcopy
명령을 사용하여 임의의 컨텐츠를 페이스트 보드 버퍼 에 저장할 수 있습니다 .
pbcopy < file
(파일의 문자 인코딩은 로케일의 문자 인코딩이어야합니다).
대부분의 쉘에는 자체 복사-붙여 넣기 버퍼가 있습니다. 이맥스 모드에서, 절단 작업 복사 / 절단 당신이 / 꺼낼와 붙여 넣기 스택에 텍스트 저장 복사 Ctrl-Y와를 통해, 그리고주기를Alt+Y
에서는 zsh
, 스택이 저장되는 $killring
배열과의 적층 체의 상단 $CUTBUFFER
이 변수는 zsh을 줄 편집기 (ZLE) 위젯과 몇몇 전문 위젯에서만 사용할 수 있지만 가변하면 그 조작하는 선호 방법.
그것들은 ZLE을 통해서만 사용할 수 있기 때문에 명령으로 수행하는 것은 약간 복잡합니다.
zmodload zsh/mapfile
zle-line-init() {
if [ -n "$FILE_TO_COPY" ]; then
zle copy-region-as-kill $mapfile[$FILE_TO_COPY]
unset FILE_TO_COPY
fi
}
zle -N zle-line-init
file-copy() FILE_TO_COPY=$1:A
zle-line-init
특별한 위젯은 각각의 새로운 명령 프롬프트의 시작에 한 번 실행됩니다. 즉, 다음 프롬프트에서만 파일이 복사됩니다. 예를 들어, 다음과 같은 경우 :
file-copy file; sleep 2
2 초 후에 파일이 복사됩니다.
Error: Can't open display: (null)
xclip
및 xsel
그들이 X11 선택 조작, X11 유틸리티이므로 단지 X11 환경에서 사용될 수있는 $DISPLAY
설정된다.
아마도 당신은 이것을 물어보고 싶을 것 입니다. 그러나 읽으려는 파일은 시스템 호출로 열어야합니다. 파일에 액세스 할 수 없으면 읽을 수 없습니다. 이것이 접근 제한이라는 개념입니다.