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}
“模式”中,( -*
) 与“参数”的结尾匹配。结果是“参数”的扩展值,最长匹配被删除。
同样,对于您的其他示例,模式将是%%.*