【发布时间】:2021-11-11 04:10:13
【问题描述】:
我有一个包含路径列表的文本,我只想在所有具有特定前缀 (foo) 的目录中选择一个指向 yml 的特定路径。
所以当我运行grep -Eo "^config/foo.*/db.yml" 时,它还会选择子目录中的其他 db.yml 文件,这不是我所期望的:(
实际输出:
config/footestto/db.yml
config/foodummy/db.yml
config/footestto/prod/db.yml
预期输出:
config/footestto/db.yml
config/foodummy/db.yml
你能帮帮我吗?我的正则表达式可能有问题。谢谢。
【问题讨论】:
-
使用
[^/]*而不是.*(类似这样的地方有一个副本,其答案适合但问题不同:stackoverflow.com/questions/1103149/…) -
如果输出来自
find命令,您可以探索其选项-mindepth和-maxdepth,可以在所需的目录树中适当设置仅打印您需要的文件深度/级别。 -
您显示了预期的输出,但没有显示您从中获得该输出的输入,因此这只是一个示例,让我们猜测。 edit您的问题以包含示例输入。