Shell字符串截取规则:
$${#parameter} 获取字符串长度
$${parameter%word} 最小限度从后面截取word
$${parameter%%word} 最大限度从后面截取word
$${parameter#word} 最小限度从前面截取word
$${parameter##word} 最大限度从前面截取word
写了个小程序,关于shell字符串截取的,保存以防忘记:
!/bin/bash
#|--------------------------------------|
#|Author: Liwenta |
#|Email: email.tata@qq.com |
#|Date: 2013-01-05 |
#|--------------------------------------|
str="/project/mkdemo/src"
echo '$${str}='$${str}
echo '$${#str}='$${#str}
tmp=`dirname $${str}`
echo 'dirname $${str}='$${tmp}
tmp=`basename $${str}`
echo 'basename $${str}='$${tmp}
tmp=$${str#*/}
echo '$${str#*/}='$${tmp}
tmp=$${str##*/}
echo '$${str##*/}='$${tmp}
tmp=$${str%/*}
echo '$${str%/*}='$${tmp}
运行结果:
[root@tata.domain /andes/shell/string]#./ph.sh
$${str}=/project/mkdemo/src
$${#str}=19
dirname $${str}=/project/mkdemo
basename $${str}=src
$${str#*/}=project/mkdemo/src
$${str##*/}=src
$${str%/*}=/project/mkdemo
$${str%%/*}=