如何解决以线性方式循环遍历子文件夹和文件
我需要以下面的方式遍历子文件夹中的文件并复制到远程目录,我的源目录如下
**Parent_Folder Folder 1/ COMP1/ file1.txt file2.txt
COMP2/ file1.txt file2.txt
COMP3/ file1.txt file2.txt
Folder 2/ COMP1/ file1.txt file2.txt
COMP2/ file1.txt file2.txt
COMP3/ file1.txt file2.txt
Folder 3/ COMP1/ file1.txt file2.txt
COMP2/ file1.txt file2.txt
COMP3/ file1.txt file2.txt**
I need to iteratively loop through files and copy to target folder in this manner from shell-script
1.) Parent_Folder/Folder 1/Comp1/file1.txt
2.) Parent_Folder/Folder 1/Comp1/file2.txt
3.) Parent_Folder/Folder 1/Comp2/file1.txt
4.) Parent_Folder/Folder 1/Comp2/file2.txt
5.) Parent_Folder/Folder 1/Comp2/file1.txt
6.) Parent_Folder/Folder 1/Comp2/file2.txt
Target Folder / Comp1 / file.txt
Comp1 / file2.txt
Comp2 / file1.txt
Comp2 / file2.txt
Comp3 / file1.txt
Comp3 / file3.txt
// Do some processing on this new copied files ..
7.) Parent_Folder/Folder 2/Comp1/file1.txt
8.) Parent_Folder/Folder 2/Comp1/file2.txt
9.) Parent_Folder/Folder 2/Comp2/file1.txt
10.) Parent_Folder/Folder 2/Comp2/file2.txt
11.) Parent_Folder/Folder 2/Comp3/file1.txt
12.) Parent_Folder/Folder 2/Comp3/file2.txt
Target Folder / Comp1 / file.txt
Comp1 / file2.txt
Comp2 / file1.txt
Comp2 / file2.txt
Comp3 / file1.txt
Comp3 / file3.txt
// Do some processing on this new copied files ..
13.) Parent_Folder/Folder 3/Comp1/file1.txt
14.) Parent_Folder/Folder 3/Comp1/file2.txt
15.) Parent_Folder/Folder 3/Comp2/file1.txt
16.) Parent_Folder/Folder 3/Comp2/file2.txt
17.) Parent_Folder/Folder 3/Comp3/file1.txt
18.) Parent_Folder/Folder 3/Comp3/file2.txt
Target Folder / Comp1 / file.txt
Comp1 / file2.txt
Comp2 / file1.txt
Comp2 / file2.txt
Comp3 / file1.txt
Comp3 / file3.txt
我可以遍历一个简单的文件夹
for file in Parent_folder/*;
,但我认为这不符合我的目的。任何帮助表示赞赏。
简而言之,将父文件夹子文件夹 COMP1、COMP2、COMP3 复制到目标文件夹 COMP1、COMP2、COMP3..
解决方法
之前关于 rsync 的评论是正确的。像这样的东西应该可以工作。
rsync -av Parent_Folder/Folder\ 1/ /path/to/Target/
# do some processing
rm -rf /path/to/Target/* # do this to avoid ending up with mixture of Folder 1 + folder 2 data
rsync -av Parent_Folder/Folder\ 2/ /path/to/Target/
# do some processing
rm -rf /path/to/Target/* # do this to avoid ending up with mixture of Folder 2 + folder 3 data
rsync -av Parent_Folder/Folder\ 3/ /path/to/Target/
# do some processing
rm -rf /path/to/Target/* # do this to avoid ending up with mixture of Folder 3 + folder 1 data on next run
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。