当前位置: 技术问答>linux和unix
shell trim 去掉字符串两边的空格,不去掉中间的 怎么做?
来源: 互联网 发布时间:2016-09-13
本文导语: echo " abs ssa " | sed 's/^[s]*//g' | sed 's/[s]&*//g' echo " abs ssa " | awk '/(^[s]*)(.)([s]*$)/{print $2}' echo " abs ssa " | awk '/^([s]*)(.)([s]*)$/{print $2}' 都不行,第一个把中间的空格也去掉了 后两个什么都不返回 网...
echo " abs ssa " | sed 's/^[s]*//g' | sed 's/[s]&*//g'
echo " abs ssa " | awk '/(^[s]*)(.)([s]*$)/{print $2}'
echo " abs ssa " | awk '/^([s]*)(.)([s]*)$/{print $2}'
都不行,第一个把中间的空格也去掉了
后两个什么都不返回
网上还看到有
echo " abs ssa " | tr ' ' | sed 's/^[ ]//g'
这个把中间空格变成一个了,不符合要求
|
echo " abs ssa " | sed -e "s/^[ s]{1,}//g" | sed -e "s/[ s]{1,}$//g"
|
echo " abs ssa " | sed -e 's/^ *| *$//'
下面这个把中间的用中括号标出来
echo " abs ssa " | sed -e 's/(^ *)(.*[^ ])( *$)/[2]/'
|
|需要转义的
|
echo " abs ssa " |sed 's/ *$//g'|sed 's/^ *//g'
|
${string#substring}从左边戒掉第一个匹配的$substring
${string%substring}从右边戒掉第一个匹配的$substring
${string%substring}从右边戒掉第一个匹配的$substring