![ディレクトリ構造を維持しながら、複数のサブディレクトリから別のディレクトリにファイルをコピーするにはどうすればよいですか?](https://rvso.com/image/1072581/%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E6%A7%8B%E9%80%A0%E3%82%92%E7%B6%AD%E6%8C%81%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E3%80%81%E8%A4%87%E6%95%B0%E3%81%AE%E3%82%B5%E3%83%96%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%8B%E3%82%89%E5%88%A5%E3%81%AE%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%82%B3%E3%83%94%E3%83%BC%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
類似のサブディレクトリを多数含むディレクトリがあります。これらのサブディレクトリにはそれぞれ、興味のあるファイルとそうでないファイルがあります。
コピーしたい内容:
FROM: 2つの特定のファイル: file1.txt file2.json 各サブディレクトリから
宛先: 別の場所
しかし、その場所にサブディレクトリを作成すると
例えば、私が
base
|_folder_00000001
| |_-file1.txt
| |_ file2.json
| |_some_other_things_I_dont_need
| |_some_other_folder_I_dont_need
|
|_folder_00000002
| |_-file1.txt
| |_ file2.json
| |_some_other_things_I_dont_need
| |_some_other_folder_I_dont_need
|
|_folder_00000003
| |_-file1.txt
| |_ file2.json
| |_some_other_things_I_dont_need
| |_some_other_folder_I_dont_need
|
|_folder_00000004
| |_-file1.txt
| |_ file2.json
| |_some_other_things_I_dont_need
| |_some_other_folder_I_dont_need
|
これを別の場所にコピーしたいのですが、「必要のない他のものやフォルダ」は除外します
target
|_folder_00000001
| |_-file1.txt
| |_ file2.json
|
|
|_folder_00000002
| |_-file1.txt
| |_ file2.json
| |
|_folder_00000003
| |_-file1.txt
| |_ file2.json
| |
|_folder_00000004
| |_-file1.txt
| |_ file2.json
|
bash ターミナルからこれを実行するにはどうすればよいですか?
答え1
cp
以下と一緒に使用できます--parents
:
cd base
cp -v --parents */file1.txt */file2.json ../target/
答え2
コピーしたいファイルに何らかのパターンがありますか?
この例では、「-file1.txt」と「file2.json」を新しいディレクトリ構造にコピーするファイルとして取ると、次のように実行できると思います。
rsync -av --include="*/" --include="*-file1.txt" --include="*file2.json" --exclude="*" /src/dir/ /dest/dir/
それが役に立つことを願います。