You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下如何用find正则匹配路径最后斜杠后的指定.properties文件

解决find命令仅匹配目标文件名的问题

原命令返回全部3个文件的原因是正则匹配了整个路径字符串,路径里的/foo-service/包含foo,导致any.properties被误匹配。要只针对最后一个斜杠后的文件名做匹配,需要调整正则表达式,锚定到文件名部分。

修正后的find命令

find /home/user/foo-service/src/main/resources/ -maxdepth 1 \
-regextype posix-extended -regex '.*/(foo|bar)[^/]*\.properties'

命令解释

  • .*/:匹配路径中最后一个斜杠之前的所有内容,确保后续正则只作用于文件名部分
  • (foo|bar):限定文件名必须以foo或bar开头
  • [^/]*:匹配文件名中除斜杠外的任意字符(保证仅匹配文件名内部内容)
  • \.properties:匹配以.properties结尾的文件

执行后会精准返回/home/user/foo-service/src/main/resources/foo-service.properties和/home/user/foo-service/src/main/resources/bar-service.properties的绝对路径,自动排除any.properties。

更简洁的替代写法(用-name直接匹配文件名)

如果觉得路径正则处理繁琐,可直接用-name选项仅针对文件名匹配:

find /home/user/foo-service/src/main/resources/ -maxdepth 1 \
-regextype posix-extended -name '(foo|bar)[^/]*\.properties'

-name默认只匹配文件名,无需处理路径前缀,写法更直观。

内容的提问来源于stack exchange,提问作者DenisB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 12:40:33