替换所有前导和尾随空格和制表符

时间:2013-07-16 15:03:36

标签: sed

我的代码如下:

cat sample.txt

    line1    value1
line2    value2    
    line3    value3 

我的代码:删除空格但无法删除标签。

sed 's/^[ \t]*//;s/[ \t]*$//' sample.txt

3 个答案:

答案 0 :(得分:4)

在POSIX世界[[:blank:]]会匹配空格和制表符,所以你可以这样做:

sed 's/^[[:blank:]]*//;s/[[:blank:]]*$//' sample.txt

答案 1 :(得分:1)

GNU代码

sed 's/^[ \t]*//;s/[ \t]*$//' file

答案 2 :(得分:0)

非sed答案:

perl -lpe 's/^\s*|\s*$//g' sample.txt
while read -r line; do echo "$line"; done < sample.txt

最后一个很有趣:要保留前导和尾随空格,必须将IFS显式设置为空字符串。比较

while      read -r line; do echo ">$line<"; done < sample.txt
# vs
while IFS= read -r line; do echo ">$line<"; done < sample.txt