假设我在bash脚本中有ls
的以下文件名:
things-hd-91-Statistics.db
things.things_domain_idx-hd-38-Data.db
在bash中,在任何一种情况下,它如何能够获得字符串'things'
的第一部分?
基本上删除了第一个-
或.
答案 0 :(得分:14)
您可以使用parameter expansion:
string="things-hd-91-Statistics.db"
echo "${string%%-*}"
things
${parameter%%pattern}
中'pattern'(-*
)与'parameter'的结尾匹配的位置。结果是删除了最长匹配的“参数”的扩展值。
与其他示例类似,模式为%%.*