欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux 字符串 百分号 问号 有大用 有大大用

在Linux Shell中,%?字符可以用于字符串截取时的模式匹配:

  1. %(百分号):

  • 例如:${SOME_STRING%pattern}会删除 $SOME_STRING 最后部分与 pattern 相匹配的字符。

  • 实际应用中,如果不需要知道确切的模式,而是想删除末尾的一个字符,可以这样用:${SOME_STRING%?}。这将会去掉字符串$SOME_STRING的最后一个字符。

  • 当与${}结合使用进行参数扩展时,%用于从变量的结尾去除匹配的部分。

  • %%

    • 类似地,双百分号%%会移除结尾与模式最匹配的整个字符串。

  • ?(问号):

    • 在某些上下文中(如正则表达式或文件名通配符),单个?表示匹配任意一个字符。

    • 但在${}扩展语法中,它通常与%一起用来作为特殊字符来匹配单个任意字符,尤其是在截取字符串时指代末尾的一个字符,如上述例子所示。

    总结一下,在Shell字符串操作中:

    • ${SOME_STRING%?}将截掉变量SOME_STRING最后的一个字符。

    举个例子:

    Bash
    1SOME_STRING="example_string"
    2echo "${SOME_STRING%?}"

    执行上述命令后,输出将是example_strin,即原字符串去掉了最后一个字符的结果。


    普通分类: