我有一個包含許多類似子目錄的目錄,每個子目錄都有一些我感興趣的檔案和一些我不感興趣的檔案。
我想複製:
FROM:兩個特定檔案:每個子目錄中的 file1.txt file2.json
TO:不同地點
但在該位置建立子目錄
例如如果我有
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/
我希望這有幫助。