gpt4 book ai didi

linux - 使用 bash 中的给定前缀将批量文件复制到另一个目的地

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

我想将所有比另一个文件更新的文件从它们的原始位置 /lib/ 复制到另一个目的地 /dest/lib/

为了识别这些文件,我只使用了:

$ cd /lib/
$ find . -newer foobar
./foo/bar.py
./bar/foo/bar/foo.py
...

不幸的是,我不能简单地使用这个命令,因为 cp 不知道如何即时创建文件夹。

所以我使用了这个命令:

find /foo -type f -newer foobar | \
xargs -n1 -I% sh -c 'mkdir -vp `dirname /dest/%` && cp -v % /dest/%'

这看起来非常复杂,而且速度非常慢。有更好的解决方案吗?

最佳答案

您可以为此使用 tar,例如,假设您有目录“1”,并且您想将某些内容复制到目录“2”,然后:

cd 1
tar -c a.txt 3/b.txt | tar -x -C ../2

你也可以使用 rsync 它适用于本地路径

关于linux - 使用 bash 中的给定前缀将批量文件复制到另一个目的地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33611800/

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