gpt4 book ai didi

linux - 如何在 linux/bash 中通过通配符进行复制?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:37 24 4
gpt4 key购买 nike

这是我正在尝试做的 - 假设一个源目录:

/xyz/2/file.txt
/xyz/2/crapfile.txt
/xyz/3/file.txt
/xyz/3/crapfile.txt

我想将 file.txt 复制到以下目录:

/z/2
/z/3

我喜欢这样做,但这行不通:

cp -r /xyz/*/file.txt /z/*/

为了避免单独复制东西——我可以通过以下方式做到这一点:

cp -r /xyz/2/file.txt /z/2/
cp -r /xyz/3/file.txt /z/3/

最佳答案

此命令从 xyz 复制到 z,不包括所有名为 crapfile.txt 的文件:

rsync -a --exclude=crapfile.txt xyz/ z

使用 -v(详细)选项,我们可以看到它正在进行的工作:

$ rsync -va --exclude=crapfile.txt xyz/ z
sending incremental file list
./
2/
2/file.txt
3/
3/file.txt

如您所见,复制了 file.txt 但跳过了 crapfile.txt

rsync 是一个非常强大的实用程序,有很多选项。有关详细信息,请参阅 man rsync 或任何 rsync tutorials在网络上。

关于linux - 如何在 linux/bash 中通过通配符进行复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37505390/

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