gpt4 book ai didi

linux - 使用 zsh globbing 进行 grepping 时排除目录

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

我有一些文件结构,其中包含具有不同深度的构建文件夹的项目。我正在尝试使用 zsh(扩展)通配来排除构建文件夹中的文件。

我尝试使用以下命令和许多其他变体:


grep "字符串"(^build/)#

我将其解读为“任何与 build 不匹配的文件夹 0 次或更多次。”

但是我仍然从以下文件夹中获取结果:

./ProjectA/build/.../file.mi

./ProjectB/package/build/.../file2.mi

有什么建议吗?

最佳答案

这应该有效:

grep string (^build/)#*(.)

说明:

  • ^build:任何未命名的build
  • ^build/:任何未命名为 build 的目录。它不会匹配任何其他文件类型
  • (^build/)#:由未命名为 build 的元素组成的任何目录路径。同样,这不会匹配最后一个元素不是目录的路径
  • (^build/)#*:除了最后一个元素之外的所有路径都不得命名为 build。这也将列出文件。它还假定如果文件本身被命名为 build 就没问题。如果不是这种情况,您必须使用 (^build/)#^build
  • (^build/)#*(.):与之前相同,但仅限于通过 glob 限定符匹配普通文件 (.)

关于linux - 使用 zsh globbing 进行 grepping 时排除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41006555/

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