gpt4 book ai didi

bash - 使用 cp 复制文件时保留目录树

转载 作者:行者123 更新时间:2023-11-29 09:08:00 24 4
gpt4 key购买 nike

我有大约 1000 个文件夹,我想从中提取单个文件以上传到服务器,但我需要保留目录树。

cp */myFile.txt ../newTree

这是我基本上想要做的,但不是每个文件都保存到 ../newTree/myFile.txt 我希望它是 ../newTree/*/myFile。 txt 其中 * 是来自 cp 命令的通配符。

我在 man 文件中找不到为此的标志,所以我想我可能需要除 cp 之外的另一个实用程序

最佳答案

使用 rsync:

find ./ -name myFile.txt -print0|rsync -0adv --files-from=- ./ ../newTree/

没有rsync:

您可以找到所有文件,为每个文件在 newTree 中创建目录,并将文件复制到其中。

for file in */myFile.txt; do
dir=$(dirname "$file")
mkdir -p "../newTree/$dir"
cp "$file" "../newTree/$dir"
done

关于bash - 使用 cp 复制文件时保留目录树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7164003/

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