我的代码如下:
cat sample.txt
line1 value1
line2 value2
line3 value3
我的代码:删除空格但无法删除标签。
sed 's/^[ \t]*//;s/[ \t]*$//' sample.txt
答案 0 :(得分:4)
在POSIX世界[[:blank:]]
会匹配空格和制表符,所以你可以这样做:
sed 's/^[[:blank:]]*//;s/[[:blank:]]*$//' sample.txt
答案 1 :(得分:1)
GNU代码sed:
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