GUIファイルマネージャーでは、いくつかのファイルを選択し、Ctrl-C(ファイルに関する情報をクリップボードにコピーすると思われます)を押してから、別のフォルダーに移動してCtrl-Vを押すと、ファイルがそこにコピーされますディレクトリ。
実験として、ファイルマネージャでファイルをコピーした後、テキストエディタに切り替えることができます。Ctrl-Vを押すと、絶対ファイル名のリストが貼り付けられます。逆のプロセス(テキストエディターからファイルのリストをコピーしてファイルマネージャーに貼り付ける)は機能しません。これは、おそらく ターゲットアトム が異なるためです。
演習の目的は、コマンドラインからいくつかのファイルをコピーできるようにすることです。たとえば、
find ${PWD} -name "*.txt" | xclip <magic parameters>
次に、ファイルマネージャに切り替えて、[ファイル]-> [貼り付け]を使用してそれらをすべてディレクトリにコピーします。
したがって、問題は次のとおりです。xclip
(または他のプログラム)のどのパラメーターを指定する必要がありますか?ファイルマネージャーは、選択をファイルのリストとして認識し、[貼り付け]メニュー項目を有効にしますか?
または、X選択の内容を検査して、現在どのデータが含まれているかを確認できる低レベルのツールはありますか?
はい、基本的に、CLIPBOARDセレクションを次のいずれかとして提供する必要があります。
text/uri-list
/path/to/file1
/path/to/file2
application/x-kde-cutselection
またはx-special/gnome-copied-files
とコンテンツcopy\nfile://$path1\nfile://$path2\0
またはcut\nfile://$path1\nfile://$path2...\0
xclip
を使用すると、次のようなことでこれを実現できます
find "$PWD" -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list
期待できるこの loliclip コマンドも見つけましたが、値を取得することはできましたが、それらを保存してloliclip
からpcmanfm
が正常に終了しました。
Perl-tk
の数行で実装することもできます。
なぜfind
にやらせないのですか?
find ${PWD} -name "*.txt" -exec cp {} /full/path \; && gnome-open /full/path &
編集:私がman xclip
から理解したことから:それはテキストのみを処理し、ファイルやディレクトリは処理しません。