ls假设我在 bash 脚本中有以下文件名:
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}“模式”中,( -*) 与“参数”的结尾匹配。结果是“参数”的扩展值,最长匹配被删除。
同样,对于您的其他示例,模式将是%%.*