0%

Bash字符串截取(删除)

从左往右(前缀开始)

1
2
${parameter#word}
${parameter##word}
  • # 从左往右第一次匹配
  • ## 从左往右最长匹配

从右往左(后缀开始)

1
2
${parameter%word}
${parameter%%word}
  • % 从右往左是第一次匹配
  • %% 从右往左最长匹配

示例

1
2
3
4
5
6
7
8
9
10
11
parameter     result
--------- ------------------------------------
$var intra.test.com.cn
${var#intra} .test.com.cn
${var#*test} .com.cn
${var#*.} test.com.cn
${var##*.} cn
${var%cn} intra.test.com.
${var%%test*} intra.
${var%.*} intra.test.com
${var%%.*} intra

怎样记忆

在英文环境中

#一般出现在数字前面,例如#1 Test Page

%一般出现在数字后面,例如10%