首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制具有相似目录结构的多个文件夹并在新位置维护结构

复制具有相似目录结构的多个文件夹并在新位置维护结构
EN

Ask Ubuntu用户
提问于 2021-03-17 19:09:24
回答 1查看 851关注 0票数 1

下面的目录结构可能非常简单:

代码语言:javascript
复制
/home/user/app-data/Unique container ID/path/to/files

我试过:

代码语言:javascript
复制
cp -r /home/user/app-data/*/path/to/files /storage/location

显然,这会抓取我想要的所有文件,这些文件位于目标位置的最末端。我希望将每个唯一目录结构中的最后一个文件夹复制到一个保存位置,并从唯一ID开始维护目录结构。因此,我抓取的每个文件夹的最终存储产品如下所示:

代码语言:javascript
复制
/storage/location/Unique ID grabbed by the wildcard/path/to/files
EN

回答 1

Ask Ubuntu用户

发布于 2021-03-18 06:31:52

cp复制源的叶(路径的最后一部分),在您的示例中,*匹配一个或多个叶对象。即使-r将递归地复制目录,最好还是使用-a来保留所有属性。

代码语言:javascript
复制
cp -r /home/user/app-data/* /storage/location

如果您需要更高级的筛选器选项,则可以结合使用findcpio

在本例中,我们只复制目录结构:

代码语言:javascript
复制
find /home/user/app-data \
  -type d -links 2 -printf %P\\0 | \
   cpio -0 -pvdmu -D /home/user/app-data -- /storage/location

(事实上,一个没有子目录的目录只有两个硬链接...,我们可以使用-links 2获取所有的最终目录,无论如何构造过滤器,最重要的是findcpio具有相同的起点)。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1324271

复制
相关文章

相似问题

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