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