使用sed删除尾随空格会产生错误的结果

时间:2018-01-07 12:04:37

标签: bash sed

       echo "This is a test         " | sed  -e 's/[ \t]*$//'
       Gives below output-
       This is a tes

实际输出应如下 -

这是一个测试

但是最后t缺失了,有人可以想出同样的事情。

经过一些分析后我发现,如果最后一个字母不是t,那么它会给出正确的结果。

只有当最后一个字母为t时,才会跳过/替换为空。

1 个答案:

答案 0 :(得分:2)

改为使用字符类[:blank:]

sed  -e 's/[[:blank:]]*$//'