1.字符串的截取
1.1 */ 去掉到左边第一个/之前的内容,去掉前缀
${file#*/}
去掉从左数第一个 “/” 及其左边的所有字符,其中 “/” 也可以替换为其他字符。
1.2 */ 去掉到左边最后一个/之前的内容,只保留后缀
${file##*/}
去掉从左数最后一个 “/” 及其左边的所有字符,其中 “/” 也可以替换为其他字符。
1.3 去掉右边第一个/之后的内容, 去掉后缀
${file%/*}
去掉从左数最后一个 “/” 及其右边的所有字符,其中 “/” 也可以替换为其他字符。
1.4 去掉右边最后一个/之后的内容,只保留前缀
${file%%/*}
去掉从左数第一个”/”及其右边的所有字符,其中 “/” 也可以替换为其他字符。
2. 字符串的提取
${file:m:n}
提取从第 m 个字符开始的 n 个字符。
如
${file:0:5} # 表示提取字符串的前5个字符
${file:1:${#file}} #表示提取字符串除第 1 个字符之外的所有字符。
3. 字符串替换
3.1 替换第一个
${file/dir/path}
表示将字符串file 中出现的第一个 dir 替换为 path。
3.2 替换所有
${file//dir/path}
表示将字符串 file 中出现的所有 dir 替换为 path。
3.3 使用sed替换
echo "xxx" | sed -e 's/aaa/bbb/g' # 和vim的操作模式一样
4. 特殊字符
单引号会替换和转义’ ',双引号保留""。
注意是在使用字符串的时候加单双引号