如何在bash中获取字符串的第一部分

时间:2012-10-07 05:40:52

标签: bash

假设我在bash脚本中有ls的以下文件名:

things-hd-91-Statistics.db
things.things_domain_idx-hd-38-Data.db

在bash中,在任何一种情况下,它如何能够获得字符串'things'的第一部分? 基本上删除了第一个-.

之后的其余字符串

1 个答案:

答案 0 :(得分:14)

您可以使用parameter expansion

string="things-hd-91-Statistics.db"
echo "${string%%-*}"
things

${parameter%%pattern}中'pattern'(-*)与'parameter'的结尾匹配的位置。结果是删除了最长匹配的“参数”的扩展值。

与其他示例类似,模式为%%.*