web-dev-qa-db-ja.com

Linux-ファイルをクリップボードにコピー/カット

ファイルをクリップボードにコピーまたは切り取って、後で別のディレクトリに貼り付けることができるかどうか疑問に思いました。簡単な調査を行ったところ、ファイルの内容をクリップボードにコピーする方法に関する情報のみが見つかりましたが、ファイル自体は見つかりませんでした。

1
Black

ファイルマネージャーでファイルに対してCtrl-Cを押すと、ファイルの内容ISクリップボードにコピーされません。簡単なテスト:ファイルマネージャーでファイルを選択し、Ctrl-Cを押して開きます。テキストエディタでCtrl-Vを押します。結果はファイルの内容ではなく、フルパスになります。

実際には、逆のことはできないため、状況は少し複雑になります。テキストエディタからファイル名のリストをコピーして、ファイルマネージャに貼り付けます。

一部のデータをコマンドラインからX11クリップボードにコピーするには、xclipコマンドを使用できます。

Sudo apt-get install xclip

ファイルの内容をコピーするまたはコマンドの出力をクリップボードに使用する

cat ./myfile.txt|xclip -i

次に、マウスの中ボタンを使用してテキストをどこかに貼り付けることができます(これは「プライマリ選択バッファ」と呼ばれます)。

データを「クリップボード」選択にコピーして、Ctrl-Vを使用してアプリケーションに貼り付けることができるようにする場合は、次の操作を実行できます。

cat ./myfile.txt|xclip -i -selection clipboard

コマンドラインからファイルをコピーしてファイルマネージャーに貼り付けるには、ファイルマネージャーが正しい「ターゲットアトム」を指定する必要があります。クリップボード内のデータを認識し、正しい形式でデータを提供します-幸い、ファイルマネージャーでファイルをコピーする場合、それは絶対ファイル名のリストであり、それぞれが新しい行にあり、findコマンドを使用して簡単に生成できます。 :

find ${PWD} -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list

(少なくともこれはKDEではうまくいきます)。これで、たとえばcbと呼ぶことができる小さなスクリプトにラップすることができます。

#!/bin/sh
xclip -i -selection clipboard -t text/uri-list

次に、それを~/binに入れ、実行可能ビットを設定して、次のように使用します。

find ${PWD} -name "*.txt"| cb

いいですね。

askubuntuからのソース

4
manjesh23

ファイルpathをシステムクリップボードに置くことにした場合は、これを~/.bashrcで使用できます。

yankpath() {
  filepath=$(realpath "$1")
  # We use the pipe to put the file name on the clipboard.
  # If we did "xclip -selection clipboard $filepath", the
  # contents of the file would be on the clipboard.
  # -rmlastnl removes the ending newline from the file path.
  echo $filepath | xclip -rmlastnl -selection clipboard
}

次に、yankpath ./a_fileを実行すると、a_fileのファイルパス全体がXシステムクリップボードに保存されます。

0
Matthias Braun