cp aaa/deep/sea/blob.psd
をしたい bbb/deep/sea/blob.psd
へ
deep
の場合、どうすればコピーできますか およびsea
bbb
の下にディレクトリが存在しません コピーにより、必要なディレクトリが作成され、ファイルがコピーされますか?
現在、No such file or directory
深海は存在しないので。
男のヘルプページやその他の質問を調べましたが、何も飛び出しません。
私が持っている最も近いものは、rcp
を使用することです ディレクトリの場合:
rcp -r aaa/deep/sea/ bbb/deep/sea/
これはディレクトリ全体とコンテンツをコピーするので、1つのファイルだけが必要です。ただし、これを実行しようとすると、cp: cannot create regular file bbb/deep/sea/blob.psd' such file or directory
承認された回答:
そのような状況では、そのような次の関数を使用してみてください:
copy_wdir() { mkdir -p -- "$(dirname -- "$2")" && cp -- "$1" "$2" ; }
として使用します
copy_wdir aaa/deep/sea/blob.psd bbb/deep/sea/blob.psd
ちなみに、GNU cp
--parents
があります オプション。それはあなたが望むものに本当に近いですが、正確ではありません。
aaa
も作成します 必要ないと思われるディレクトリ。ただし、最初にaaa
にCDを挿入できます 次のようにコピーします:
cd aaa && cp --parents deep/sea/blob.psd ../bbb/