UNIXでファイルの内容を表示せずにファイルの内容をコピーする方法。猫やviで中身を見たくありません。
それらをクリップボードにコピーして、Windowsのメモ帳に貼り付けることができるようにします。
アクセス制限のため、そのサーバーから別のサーバーにファイルをコピーできません。
UNIXでファイルの内容を表示せずにファイルの内容をコピーする方法。猫やviで中身を見たくありません。
それらをクリップボードにコピーして、Windowsのメモ帳に貼り付けることができるようにします。
アクセス制限のため、そのサーバーから別のサーバーにファイルをコピーできません。
回答:
X11(従来のUnixまたはLinuxベースのシステムで最も一般的なGUI)を使用している場合、ファイルの内容を表示せずにX11 CLIPBOARD選択にコピーするには、xclip
or 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として保存xterm
するには最近使用する必要があります:
xprop -root -format CUT_BUFFER0 8s -set CUT_BUFFER0 "$(cat file)"
(末尾の改行文字をから削除しますfile
)。
GNUにscreen
は、readbuf
ファイルのコンテンツを独自のコピー/貼り付けバッファー(で貼り付けます)に丸toみするコマンドがあります^A]
。そう:
screen -X readbuf file
Apple OS / X は X11 を使用できますが。X11アプリケーションを実行しない限り、デフォルトではありません。あなたは使用することができるだろうxclip
か、xsel
そこのようにOS / X OS / XのペーストボードバッファとX11のクリップボードの選択を同期させる必要がありますが、それはただそのためにX11サーバを起動するには、廃棄物のビットになります。
OS / Xでは、pbcopy
コマンドを使用して任意のコンテンツをペーストボードバッファーに保存できます。
pbcopy < file
(ファイルの文字エンコーディングは、ロケールの文字エンコーディングであると予想されます)。
ほとんどのシェルには、独自のコピー/貼り付けバッファーがあります。emacsモードでは、切り取りとコピーの操作により、コピー/切り取りされたテキストが、ヤンク/貼り付けでスタックに保存されCtrl-Y、Alt+Y
ではzsh
、スタックは$killring
配列に格納され、スタックの最上部は$CUTBUFFER
変数に格納されますが、これらの変数はZsh Line Editor(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
設定されています。
たぶん、あなたはこれを聞きたかったです。ただし、読み取りたいファイルは、何らかのシステムコールで開く必要があります。ファイルにアクセスできない場合、ファイルを読み取ることはできません。それがアクセス制限の考え方です。