首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何复制保持父目录的部分文件夹结构的文件夹列表

如何复制保持父目录的部分文件夹结构的文件夹列表
EN

Stack Overflow用户
提问于 2022-03-07 20:13:14
回答 1查看 69关注 0票数 1

假设我想从具有以下文件夹的find /40/AD/GWAS_data/Source_Plink/2021_ADGC_EOAD -name "plink_data*"复制一些文件夹:

代码语言:javascript
复制
/40/AD/GWAS_data/Source_Plink/2021_ADGC_EOAD/ADGC_NHW/ADNI/TOPMEDr2/vcffile/plink_data
/40/AD/GWAS_data/Source_Plink/2021_ADGC_EOAD/ADGC_ASIAN/BIOCARD/TOPMEDr2/vcffile/plink_data

进入/40/AD/GWAS_data/Source_Plink/2021_ADGC_EOAD/NEW_DIR/,但我希望新目录具有:

代码语言:javascript
复制
/40/AD/GWAS_data/Source_Plink/2021_ADGC_EOAD/NEW_DIR/ADGC_NHW/ADNI/TOPMEDr2/vcffile/plink_data
/40/AD/GWAS_data/Source_Plink/2021_ADGC_EOAD/NEW_DIR/ADGC_ASIAN/BIOCARD/TOPMEDr2/vcffile/plink_data

我试过这样做,但它复制了整个路径:find /40/AD/GWAS_data/Source_Plink/2021_ADGC_EOAD -name "plink_data*" -exec cp --parents {} /target \;

我该怎么做呢?谢谢!

UPDATE:我能够使用@Cyrus的答案使用cp执行任务,但不能使用mv。我认为在这个命令中应用cpmv没有什么不同,但我错了。事实上,我需要在不同的任务中同时使用mvcp,所以我使用了一个循环

代码语言:javascript
复制
for line in $(find . -name "*plink_data*"); do
    new_FOLD="$(echo  $line| cut -d"." -f2-)"
    mkdir -p "NEW_DIR/${new_FOLD}"
    cp/mv $line "NEW_DIR/${new_FOLD}"
done
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-07 21:52:24

我建议:

代码语言:javascript
复制
cd /40/AD/GWAS_data/Source_Plink/2021_ADGC_EOAD
mkdir -p NEW_DIR
find . -name "plink_data" -not -path "./NEW_DIR/*" -exec cp --parent {} NEW_DIR \;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71386756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档