当前位置: 首页 > 面试题库 >

rsync使用include选项仅复制某些类型的文件

酆出野
2023-03-14
问题内容

我使用以下bash脚本仅复制某些扩展名的文件(在本例中为* .sh),但是仍会复制所有文件。怎么了?

从= $ 1
至= $ 2

rsync -zarv --include =“ *。sh” $ from $ to

问题答案:

我认为--include过去是用来包含文件的子集,否则会被排除--exclude,而不仅仅是包括那些文件。换句话说:您必须考虑 包含 含义
,不要排除

请尝试:

rsync -zarv  --include "*/" --exclude="*" --include="*.sh" "$from" "$to"

对于rsync 3.0.6或更高版本,需要按以下方式修改顺序(请参见注释):

rsync -zarv --include="*/" --include="*.sh" --exclude="*" "$from" "$to"

添加该-m标志将避免在目标位置创建空目录结构。在3.1.2版中测试。

因此,如果只希望 .sh文件,则必须排除所有文件--exclude="*",包括所有目录,--include="*/"并包括所有
.sh文件--include="*.sh"

您可以在手册页的 “包括/排除模式规则”
部分中找到一些很好的示例。



 类似资料:
  • 我有一个包含多个属性的属性文件。多个对多个(我们的)产品有效,有些只对一个产品有效(不能通过属性名称区分)。因此,在一个产品基于ANT的构建过程中,我想将包含所有属性的原始文件复制到产品特定文件中,跳过适用于其他产品的部分。我可以想象使用一些开始和结束标记,例如。 对于产品 1,我想获取文件 和产品2 ANT是否可能实现这样的事情,或者我应该编写自己的Java帮助程序类?

  • 问题内容: 我喜欢Django,但对于特定的应用程序,我只想使用其中的一部分,但是我对Django在内部的工作方式还不够熟悉,因此也许有人可以为我指明正确的方向查看。 具体来说,我想使用: 模型和数据库抽象 该缓存API,但我想通过缓存来避免数据库查询,而不是HTML生成,并且由于在Django的缓存框架适用于后者,我不 知道是否还没有这真的合适。 我不会使用: Templating urlcon

  • 我想在< code>RecycleView中仅绘制< code >标题类型的默认< code>ItemDecoration。但是每个< code >视图类型都会显示< code >分隔线。 定制装修: 设置: 对为什么会发生这种情况有什么建议吗? 更新 上面的代码是工作代码。但是有一只虫子。启动应用程序后,分隔符出现在所有元素中,然后只出现在正确的元素中。为什么会这样?

  • 我想循环查看Audio\u files文件夹中的文件,检查它是原始文件还是wave文件,并将其放在相应的目录中。这是我的代码: 请告诉我哪里出错了。我得到的错误是: 回溯(最近一次调用last):文件“/checkaudiofiles.py”,第12行,在shutil中。复制(文件,目标)文件“/usr/lib/python2.7/shutil.py”,第119行,在copyfile(src,ds

  • 我的WordPress博客中有几个类别。所有帖子都可以通过domain.tld/post-title获得。但现在我需要不同的网址为某些主题。 示例: blog>domain.tld/post-title 类别1>域.tld/category-1/post-title 类别2>域.tld/category-2/post-title 类别3>域.tld/post-title 我不想使用插件,而是通过c

  • 我需要让对象的某些部分序列化默认值,而有些部分不序列化。 在下面的帖子中,我了解了如何根据类型做到这一点:Json。NET:如何使DefaultValueHandling仅适用于某些类型? 但是这个解决方案只适用于类型,不会是递归的。 预期行为: 重新序列化时: ContractProvider中是否有我可以重写的内容,或者我可以添加到成员或类中的属性来选择DefaultValueHandling