Shell中去除字符串里的空格或指定字符的方法

在整理词库的过程中遇到 一个问题,有些其实是同一个关键词之关有空格的话,无法正常被去重,那么有没有办法能快快速去除这些字符中间的空格呢?

网上很多办法,虽然是对的,用起来结果不对。这里提供正确办法。

去掉开头的空格

$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// /-}
赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » Shell中去除字符串里的空格或指定字符的方法

登录

找回密码

注册