gpt4 book ai didi

linux - 使用 rsync 时如何排除二进制文件

转载 作者:太空狗 更新时间:2023-10-29 11:04:42 24 4
gpt4 key购买 nike

我想将目录从 mac 机器同步到服务器到 linux 机器,同时排除编译文件,如 .o 文件和二进制可执行文件。如何排除二进制文件?

我目前使用的是:

rsync -av --compress --exclude="*.o" dir server:dir

最佳答案

这是一个棘手的问题,因为 Unix 系统对“二进制”和“文本”文件之间的区别没有硬性定义。您可以通过使用 file 命令并在输出中搜索 text 来做得很好(参见 How to tell binary from text files in linux ),所以我会运行 find 生成 file 认为是文本的文件列表,并将其用作 rsync 的文件列表:

find dir | xargs file | awk -F: '$2 ~ /text/ { print $1 }' | \
rsync --files-from=- -av --compress dir server:dir

这将需要进行一些调整以确保路径名相对于源目录是正确的,等等,但它应该接近您想要的。

从长远来看,我想重新构建我的构建过程,将生成的文件放在 dir/build 目录中,但这可能对现在有帮助:-)

关于linux - 使用 rsync 时如何排除二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20570693/

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