gpt4 book ai didi

Linux cp 命令保存文件结构

转载 作者:太空宇宙 更新时间:2023-11-04 05:09:18 25 4
gpt4 key购买 nike

所以我有一个像这样的linux文件结构:

/base/dir_a/a/this_d=1_another/testfile
/base/dir_a/a/this_d=2_another/testfile
/base/dir_a/a/aa/this_d=1_another/testfile
/base/dir_a/a/ab/this_d=1_another/testfile
/base/dir_a/a/ab/this_d=2_another/testfile

我想将包含 d=1 的所有文件夹复制到 dir_b

/base/dir_a/*d=1* -> /base/dir_b

所以最终的dir_b应该是:

/base/dir_a/a/this_d=1_another/testfile
/base/dir_a/a/aa/this_d=1_another/testfile
/base/dir_a/a/ab/this_d=1_another/testfile

我尝试了如下的副本(2 个命令..)

cp /base/dir_a/a/*/*d=1* -> /base/dir_b;
cp /base/dir_a/a/*d=1* -> /base/dir_b;

但这将尝试将 this_d=1_another 文件夹复制到 /base/dir_b 中,这会导致问题,因为我的所有嵌套文件夹都命名相同。

我该如何解决这个问题?

最佳答案

如果您可以使用 rsync,那么使用 rsync 是最简单的:

rsync -avP --include=*/ --include=**/*d=1* --exclude='*' /base/dir_a /base/dir_b

但是,这会产生一堆空目录作为副作用。

关于Linux cp 命令保存文件结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57499949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com