1、删除字符串中空格
(1)删除行首空格
echo " 123 45 " | sed -e 's/^[ ]*//g' #输出123 45
(2)删除行尾空格
echo " 123 45 " | sed 's/[ ]*$//g' #输出123 45
(3)删除前、后空格,不删除中间空格
echo " 123 45 " | sed -e 's/^[ ]*//g' -e 's/[ ]*$//g' #输出123 45
(4) 删除字符串中所有空格
echo " 123 567 " | sed 's/[[:space:]]//g' #输出12345 echo " 123 567 " | tr -d '[ ]' #输出12345
2、删除文件中的空行
grep -v '^$' filename #打印非空行 sed '/^$/d' filename #打印非空行 sed -i '/^$/d' filename #原地置换,原文件删除空行 awk '!/^$/{print}' filename #打印非空行
3、实例
需求:删除文件中行首、行尾空格和文件中的空行
方法一
sed -i -e 's/^[ ]*//g' -e 's/[ ]*$//g' -e '/^$/d' filename
方法二
sed -i 's/^[ ]*//g;s/[ ]*$//g;/^$/d' filename