0

我的代码如下:

cat sample.txt

    line1    value1
line2    value2    
    line3    value3 

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

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

3 回答 3

4

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

sed 's/^[[:blank:]]*//;s/[[:blank:]]*$//' sample.txt
于 2013-07-16T15:17:22.133 回答
1

GNU 的代码:

sed 's/^[ \t]*//;s/[ \t]*$//' file
于 2013-07-16T15:23:29.333 回答
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
于 2013-07-16T15:49:48.110 回答