どのディレクトリ(たとえば、home)の下に次のパスがあり、~/mydir/subdir/file1
コピーしたいとします。ファイル1:
ホームディレクトリでこれを行うことができます。
cp ~/mydir/subdir/file1 ~/mydir/subdir/file2
現在のディレクトリを意味するmydir/subdir
ように、その部分を再度繰り返す必要がないように、「ソースと同じパスに」を意味するショートカットはありますか?.
それとも同じ結果を得る別の方法はありますか?
最初にできることを知っていますが、cd ~/mydir/subdir
同じディレクトリに滞在できるようにする単一行ソリューションを探しています。 1つのオプションは変数を使用することですが、多くのコマンドを入力するときにもっとエレガントな方法が必要です。
オンラインで閲覧して検索しましたが、man cp
そのオプションが見つかりませんでした。答えが「いいえ」なら大丈夫です。他の人が時間を節約する方法を使用したことを確認したかっただけです。ありがとうございます!
ベストアンサー1
(1)を使用bash
し、パスにスペースや改行(2)がないと仮定すると、次のようになります。
cp ~/mydir/subdir1/{file1,file2}
~
これはbashによって(拡張とともに)拡張されます。
cp ~/mydir/subdir1/file1 ~/mydir/subdir1/file2
いつものように、次のようにテストできます。echo
echo cp ~/mydir/subdir1/{file1,file2}
コメントによると:
(1)これは他のシェルでも機能します。すべてのシェルをテストする時間はありません。
(2)「興味深い」名前の場合は、tab完成を使用するか(bash
適切なエスケープが可能です)、引用符(中括弧ではない)を使用してください。
mv ./"some dir"/{"some name","other id"}