内容を別のファイルまたはアプリケーションにコピーする必要があるファイルがあり、それを開くのではなく、すべてのテキストを選択してからコピーして貼り付け、効果的にcat
できるかどうかを知りたいクリップボードにコンテンツ。これは可能ですか?
Windowsプログラムでも問題ありませんが、Linuxで機能するものも役立ちます。私はMacを使用していませんが、他の人には役立つかもしれません。これがコマンドラインで実行できる場合、ボーナスポイントがあります。
あなたはMacについて尋ねなかったので: cat file | pbcopy
(そして同様にpbpaste
)。
xclip (おそらくLinuxシステムのリポジトリで利用可能です)は、ほとんどのLinuxバージョンを含むX11システム、あるいはWindowsやMac OSXで動作するXでさえも動作します。 。
使用例:xclip -sel clip < ~/.ssh/id_rsa.pub
Linuxでは、xsel
とpbcopy
を模倣するためにpbpaste
を使用できます。
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
Linuxおよびxclip
をサポートする他のシステムでは、次のようになります。
xclip -i -selection c file_to_copy_to_clipboard.txt
@JustinSmithがxclip
にも言及しているのを見ましたが、例が欠けていたので、自分で調べなければなりませんでした。
もう1つの便利な方法は、クリップボードをファイルに貼り付けることです。
xclip -o -selection c > file_to_paste_to.txt
このプログラム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.
ごめんなさい。
テキスト形式のファイルの内容を標準出力(標準出力)にパイプ処理するには、ウィンドウ内の "cat"と同等のコマンド "type"を使用します。これは、使用しているターミナル/プロンプトエミュレータです(ウィンドウ内のCMD)。したがって、コマンドを次のように組み合わせることができます。
type myFile.txt > clip
myFile.txtの内容がclipBoardバッファに転送されるようになりました(Linuxではなく、単なるバッファだと思います)。これはグローバルな価値でもあるため、OS全体で一度に1つの価値があります。これが「コピー」機能のためのもので、「ペースト」のためのものです。
どちらもあなたは既存のファイルにCLIPの値を通常のもののように追加したいです:
clip >> target.txt(またはあなたのターゲットファイル - そのターゲットファイル内の既存のものを削除せずにデータを追加します)とタイプします。
または、CLIPの値を使って新しいファイルを追加/作成します。
「clip> target.txt」と入力します(またはターゲットファイル - データを追加するか、OVERWRITEはそのターゲットファイル内の既存のファイルを削除することを意味します)。