代わりに、次のコマンドを使用してください。
cp {ソースファイル} {ターゲットファイル}
ファイルをクリップボードにコピーして別のディレクトリに貼り付けたいです。このような:
/usr/ローカル/dir1#cp {ソースファイル}
/usr/ローカル/dir1#CD /usr/ローカル/dir2
/usr/ローカル/dir2#生地
可能ですか?
答え1
私の考えでは、GUIアプリケーションのようにする必要があるようです。私の考えは、コピーして貼り付けるための2つの関数を書くことです。コピーは一時ファイルにコピーするファイルパスを書き込み、貼り付けはそのパスを読み取り、単にcp
コマンドを呼び出します。私の実装(.bashrc
ファイルに保存される)は次のとおりです。
function Copy {
touch ~/.clipfiles
for i in "$@"; do
if [[ $i != /* ]]; then i=$PWD/$i; fi
i=${i//\\/\\\\}; i=${i//$'\n'/$'\\\n'}
printf '%s\n' "$i"
done >> ~/.clipfiles
}
function Paste {
while IFS= read src; do
cp -Rdp "$src" .
done < ~/.clipfiles
rm ~/.clipfiles
}
xclip
このアイデアを実装するために、より良いスクリプトを書くことができます。私が直接テストした結果、ファイルとフォルダにはうまく機能しました(フォルダのコピーにどのように使用するのかわかりません!)。
たとえば、
/usr/local/dir1# Copy a.txt *.cpp
/usr/local/dir1# cd /usr/local/dir2
/usr/local/dir2# Paste
/usr/local/dir1# Copy *.h *.cpp b.txt subdir1
/usr/local/dir1# cd /usr/local/dir2
/usr/local/dir2# Paste
/usr/local/dir1# Copy a.txt b.txt
/usr/local/dir1# cd /usr/local/dir2
/usr/local/dir2# Copy c.txt d.txt
/usr/local/dir2# cd /usr/local/dir3
/usr/local/dir3# Paste
答え2
Xクリップをお勧めします。私はこれに常にそれを使用します。しかし、スクリプトは必要ありません。ただ機能を使用してください。
私はこのスクリプトを使用する必要はないと思います。特にあなたが私が考えていることをやっているなら、あなたはすでに言及されているスクリプト(有用なLinux tidbitsブログで)が入力を求めているので迷惑を感じるでしょう。いつでも可能なとき、ちょうど使用することはUnixの哲学に反します。
私はあなたの関数にいくつかの機能を書くことをお勧めします.bashrc
。
clip2file () {
xclip -out -selection clipboard >> $@
echo -e "\n" >> $@
}
file2clip () {
cat $@ | xclip -selection clipboard
}
これを使用するにはapt-get install xclip
(Debian、Ubuntu、Linux Mintなど)、zypper in xclip
(openSUSE、その他の.rpmベースのシステム)、または同等のものが必要です。このプログラムはあなたが使用しているすべてのシステムで動作するはずです。
答え3
このxclip
コマンドを使用してこれを実行できます。 bashスクリプトは以下からダウンロードできます。このリンクbash cp2clip
ファイルbash clippaste
のエイリアスを入力してください.bashrc
。