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

如何用grep筛选以backend开头且以.jar结尾的JAR文件?

解决方法:精准筛选目标JAR文件

这问题我碰到过,刚好有几个实用的办法帮你精准拿到想要的backend-xxx.jar文件,排除带.original的副本:

方法1:优化grep正则表达式

你原来的ls | grep 'backend'会匹配所有包含backend的文件,我们可以用更精确的正则来限定开头和结尾:

ls | grep '^backend.*\.jar$'

拆解一下这个正则的作用:

  • ^:匹配字符串的开头,确保文件名以backend起始
  • .*:匹配任意长度的任意字符(对应变化的版本号部分)
  • \.jar$:匹配以.jar结尾的字符串,\是转义符,避免正则里的.被当作通配符

这样就能精准匹配到backend-0.0.1-SNAPSHOT.jar,而排除backend-0.0.1-SNAPSHOT.jar.original(因为它的结尾是.original,不符合\.jar$的要求)。

方法2:用find命令更可靠(推荐)

如果你的文件名可能包含空格或者特殊字符,ls结合grep可能会出问题,这时候用find命令更稳妥:

find . -maxdepth 1 -type f -name 'backend*.jar' ! -name '*.original'

各参数说明:

  • .:当前目录
  • -maxdepth 1:只查找当前目录,不深入子文件夹
  • -type f:只匹配文件(排除文件夹)
  • -name 'backend*.jar':匹配以backend开头、以.jar结尾的文件
  • ! -name '*.original':排除所有带.original后缀的文件

这个方法不仅能精准筛选目标文件,还能避免ls命令在处理特殊文件名时的潜在问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:02:40