网上很多办法,虽然是对的,用起来结果不对。这里提供正确办法。
去掉开头的空格
$text=" 123 456 " # 这个写法,保证了得到正确的结果。 text=`echo $text | sed -e 's/^[ \t]*//g'` # 这些方法没有测试,写法参照上面的。 # 去掉尾巴的空格 sed 's/[ \t]*$//g' # 删除前、后空格,不删除中间空格 sed -e 's/^[ \t]*//g' -e 's/[ \t]*$//g' # 删除字符串中所有空格 sed 's/[[:space:]]//g'
当然还有简单办法:
# 只替换一个 text=${text/ /-} # 全部替换 text=${text// /-}