フォルダ0とそのサブフォルダとファイルの構造があるとしましょう。
folder0
subfolder01
file011
file012
subfolder02
file021
file01
file02
folder0
デフォルトフォルダ内のすべてのファイルを別の場所にコピーして、すべてのディレクトリに配置したいと思います。どうすればいいですか?使った
cp --recursive folder0address targetfolderaddress
ただし、サブフォルダはターゲットフォルダにコピーされます。フォルダではなく、ディレクトリとサブディレクトリのすべてのファイルが必要です。私の言葉は、ターゲットフォルダが次のようになるということです。
targetfolder
file011
file012
file021
file01
file02
答え1
使用find
:
find folder0 -type f -exec cp {} targetfolder \;
GNUを使用すると、coreutils
これをより効率的に実行できます。
find folder0 -type f -exec cp -t targetfolder {} +
前者のバージョンはコピーさcp
れたすべてのファイルに対して実行されますが、後者はcp
一度だけ実行されます。
答え2
zshを使用していただきありがとうございます。**
再帰ワイルドカードの場合そしてグローバル予選.
通常のファイルのみが一致します。
cp -p folder0/**/*(.) targetfolder
答え3
または xargs を使用してください。
find folder0 -type f | xargs -I {} cp -v {} targetfolder;
何が起こっているのかを確認するには、-vを使用してください。