>假设我在 bash 脚本中的ls
中有以下文件名:
things-hd-91-Statistics.db
things.things_domain_idx-hd-38-Data.db
在 bash 中,无论哪种情况,它如何能够获得字符串的第一部分'things'
?基本上删除字符串的其余部分超过第一个-
或.
您将使用参数扩展:
string="things-hd-91-Statistics.db"
echo "${string%%-*}"
things
其中${parameter%%pattern}
"模式"(-*
)与"参数"的末尾匹配。结果是删除最长匹配项的"参数"的扩展值。
同样,对于您的另一个示例,模式将是%%.*