GNU/Linux >> Linux の 問題 >  >> Linux

ファイルの内容を表示せずにクリップボードにコピーしますか?

ファイルの内容を表示せずにUNIXでファイルの内容をコピーする方法。猫やviに中身を見たくない。

それらをクリップボードにコピーして、Windowsのメモ帳に貼り付けたいのです。

アクセス制限のため、そのサーバーから別のサーバーにファイルをコピーできません。

承認された回答:

X11

X11(従来のUnixまたはLinuxベースのシステムで最も一般的なGUI)を使用している場合、ファイルのコンテンツを表示せずにX11CLIPBOARD選択にコピーします。 それなら、 xclipを使うことができます またはxsel ユーティリティ。

xclip -sel c < file

または:

xsel -b < file

fileのコンテンツを保存する CLIPBOARDX11の選択として。

コマンドの出力を保存するには:

mycommand | xclip -sel c
mycommand | xsel -b

UTF-8エンコーディングを使用して保存する必要があることに注意してください。そうしないと、貼り付けが正しく機能しません。 ファイルの場合 別の文字セットを使用してエンコードされている場合は、次のように、最初にUTF-8に変換する必要があります。

<file iconv -f latin1 -t utf8 | xclip -sel c

latin1でエンコードされたファイルの場合 / iso8859-1

xsel バイナリデータでは機能しません(nullバイトは受け入れません)が、 xclip

CUT_BUFFERとして保存するには( xterm などの一部のアプリケーションによって引き続きクエリが実行されます) CLIPBOARDまたはPRIMARYXの選択を主張するものがなく、選択のようにそれを提供するためにプロセスを実行する必要がない場合)。ただし、今日ではおそらくそれを使用したくない、または使用する必要はありません。

xprop -root -format CUT_BUFFER0 8s -set CUT_BUFFER0 "$(cat file)"

fileから末尾の改行文字を削除します 。

GNU画面

GNU画面 readbufがあります ファイルの内容を独自のコピー&ペーストバッファ( ^ A] で貼り付けるコマンド )。だから:

screen -X readbuf file

Apple OS / X

Apple OS/Xはできます X11を使用します。 X11アプリケーションを実行しない限り、デフォルトではありません。 xclipを使用できるようになります またはxsel OS/XはX11CLIPBOARDの選択をOS/Xペーストボードバッファと同期する必要があるためですが、そのためだけにX11サーバーを起動するには少し無駄になります。

OS / Xでは、 pbcopyを使用できます 任意のコンテンツをペーストボードに保存するコマンド バッファ:

pbcopy < file

(ファイルの文字エンコードはロケールのものであることが期待されます)。コマンドの出力を保存するには:

mycommand | pbcopy

シェル

ほとんどのシェルには、独自のコピー&ペーストバッファがあります。 emacsモードでは、カットアンドコピー操作により、コピー/カットされたテキストがスタックに保存され、 Ctrl-Yでヤンク/貼り付けされます。 、 Alt + Yで循環します

関連:2つのファイルから最初の列を取得し、それを3番目のファイルに書き込みますか?

zsh CUTBUFFER / killring

zshで 、スタックは $ killringに保存されます 配列と$CUTBUFFERのスタックの最上位 これらの変数はZshLineEditor(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
}
mycommand | pbcopy
mycommand | pbcopy
zle -N zle-line-init
file-copy() FILE_TO_COPY=$1:A       

zle-line-init 特別なウィジェットは、新しいコマンドプロンプトの開始時に1回実行されます。つまり、ファイルは次のプロンプトでのみコピーされます。たとえば、次の場合:

file-copy file; sleep 2

ファイルはその2秒後にのみコピーされます。


Linux
  1. コマンドラインでのSSHファイルコピーの魔法

  2. そのすべてがドットファイルにあります-YADMとHomeshick

  3. ファイル内の単語をGrepしてから、ファイルをコピーしますか?

  1. ファイルの内容を空にする最も効率的な方法は?

  2. N番目に若いファイルをリストする方法(Lsを解析せずに!)?

  3. コマンドの出力をクリップボードに直接コピーするにはどうすればよいですか?

  1. GNU Screen コピー バッファをクリップボードにコピーするには?

  2. Linux ターミナルでファイルの内容をクリップボードにコピーする

  3. ファイルの内容を再帰的に表示するには?