これが私が解決しようとしている問題です。
- いくつかのファイルと他のディレクトリを含むディレクトリ「A」があるとしましょう。
- Aディレクトリ内のすべてのファイルをBディレクトリにコピーしたいです。
- フォルダA内のすべてのフォルダをフォルダCに再帰的にコピーしたいと思います。
UNIX / Linuxでこれを達成するための最短でプラットフォームの中立的な方法は何ですか?
答え1
おそらくこんな感じ
find A -type f -maxdepth 1 -exec cp {} B/ \;
そして
find A -type d -maxdepth 1 -mindepth 1 -exec cp -r {} C/ \;
その中には、-type
探しているタイプ(ファイルまたはディレクトリ)、ディレクトリの- maxdepth
深さ、および-exec
結果に対して実行するコマンドを識別するフラグがあります。
答え2
次に終わるglobパターンがcp
ある場合は、コピーディレクトリを使用できます。/
cp -a A/*/ C/
-a
(同様-r
)オプションを使用せずにファイルをコピーできます。
cp A/* B/
最後のコマンドは、コピーされていないディレクトリに無害なエラーを提供します。