ファイルの内容をクリップボードに読み込むにはどうすればよいですか?


81

コンテンツを別のファイルまたはアプリケーションにコピーする必要があるファイルがあり、それを開くのではなく、すべてのテキストを選択してからコピーして貼り付けcat、ファイルのコンテンツを効果的にクリップボードにコピーできるかどうかを知りたいです。これは可能ですか?

Windowsプログラムでも問題ありませんが、Linuxで機能するものも役立ちます。私はMacを使用していませんが、他の人には役立つかもしれません。これがコマンドラインで実行できる場合、ボーナスポイントがあります。


1
なるほど、私はWindowsのために、それは前に頼まれた知っていた:「どのようにクリップボードへのコマンドラインからパイプのテキストをする」でsuperuser.com/questions/97762/...たぶん、その後Linux用このオープンを残しますか?
アルジャン

1
郊外。これにはclip.exeを使用できるようです。ただし、コマンドライン以外のバージョンも引き続き必要です。たぶん、Windowsエクスプローラーのコンテキストメニューからですか?
ジョナソンワトニー

回答:



51

xclip(おそらくLinuxシステムのリポジトリで利用可能)は、ほとんどのLinuxバージョンを含むすべてのX11システム、またはXがWindowsまたはMac OSXで実行されている場合でも動作します。

使用例: xclip -sel clip < ~/.ssh/id_rsa.pub


23
使用例:xclip -sel clip < ~/.ssh/id_rsa.pub
2013年


13

Linuxおよびサポートされる可能性のある他のシステムxclip

xclip -i -selection c file_to_copy_to_clipboard.txt

@JustinSmithも言及しているのを見ましxclipたが、例が欠けていたので、自分で調べなければなりませんでした。

別の便利な方法:クリップボードをファイルに貼り付けます。

xclip -o -selection c > file_to_paste_to.txt

ソース


2

Windowsの「cat」に相当するコマンド「type」を使用して、テキスト形式のファイルコンテンツをstdout(標準出力)にパイプします。これは、使用しているターミナル/プロンプトエミュレータ(windowsのCMD)です。したがって、コマンドを次のように組み合わせることができます。

type myFile.txt > clip 

これで、myFile.txtのコンテンツがclipBoardバッファーに転送されます(Linuxではないため、単なるバッファーだと思います)。グローバル値でもあるため、OS全体で1つの値が保持されます。これが「コピー」機能の場合、「ペースト」の場合です:

  • 既存のファイルに、通常のものと同様にCLIPの値を追加するか、次のいずれかです。

    「clip >> target.txt」と入力します(またはターゲットファイル-ターゲットファイル内の既存のデータを削除せずにデータを追加します)

  • または、次のようなCLIPの値を使用して新しいファイルを追加/作成します。

    clip> target.txtと入力します(またはターゲットファイル-データを追加するか、OVERWRITEはそのターゲットファイル内の既存のものを削除することを意味します)


1

このプログラムf2clipを使用します。コマンドラインから実行します。ファイルの内容をクリップボードにコピーします。テキストファイルをさらに処理するためにWebブラウザーにコピーするために使用します。http://smrz.xf.cz/f2clip.exeからダウンロードする か、このソースから独自に作成します(見苦しいです):

 program f2clip;

 {$APPTYPE CONSOLE}

 uses
SysUtils,
clipbrd;

var i,r:integer;
    s:string;
 f:file;
 buf:array[0..1024*1024-1] of byte;

 data:string;
 d:pointer;
 begin
 try

 { TODO -oUser -cConsole Main : Insert code here }
    if (paramcount=0) then begin
    writeln('parameters: f2clip filename.txt');
end else begin
    write('parameter count: ');
  writeln(paramcount);  
    for i:=1 to paramcount do begin
    s:=paramstr(i);
    writeln('file: ',s);

    assignfile(f,s);
    reset(f,1);
    BlockRead(f,buf,1024*1024,r);
    writeln('size: ',r);
    buf[r]:=0;

    d:=@(buf[0]);
    data:=PAnsiChar(d);
Clipboard.AsText := data;
    close(f);
  end;

  end;

 except
   on E:Exception do
     Writeln(E.Classname, ': ', E.Message);
 end;
end.

ごめんなさい。


1
+1。私はxclipがより良い解決策だと思いますが、この努力に感謝します。
0xc0de
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.