如何在复制文件时进行ant风格的文件过滤

如何在复制文件时进行ant风格的文件过滤

使用 Ant,您可以使用如下过滤器:

**/target/*.war

这意味着所有以 target 作为最后一个目录的路径。这将匹配

  • a/b/target/X.war
  • a/target/Y.war
  • a/b/c/target/Z.war

我希望能够在 ubuntu 中使用这种过滤功能进行复制......

最好的情况是

cp **/target/*.war DESTINATION

我知道这行不通。在 ubuntu 中有什么方法可以实现这一点吗?

答案1

在 bash shell 中,你可以通过设置 shellglobstar选项来启用此行为,例如

$ shopt -s globstar
$ cp -v **/target/*.war ../target
`a/b/c/target/Z.war' -> `../target/Z.war'
`a/b/target/X.war' -> `../target/X.war'
`a/target/Y.war' -> `../target/Y.war'

您可以使用 再次关闭(取消设置)该选项shopt -u globstarhelp shopt在 bash 提示符下键入以获取有关 shell 选项的更多信息。

相关内容