【问题标题】:How to get the first part of the string in bash如何在bash中获取字符串的第一部分
【发布时间】:2012-09-27 19:11:18
【问题描述】:

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

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

在 bash 中,无论哪种情况,它如何能够获取字符串 'things' 的第一部分? 基本上删除第一个-.之后的其余字符串

【问题讨论】:

    标签: bash substring


    【解决方案1】:

    你会使用parameter expansion:

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

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

    与您的其他示例类似,模式将是 %%.*

    【讨论】:

    • 或者,将两者合二为一:${string%%[-.]*}.
    猜你喜欢
    • 2011-07-02
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 2020-06-06
    • 2021-12-31
    • 1970-01-01
    • 2015-02-02
    相关资源
    最近更新 更多