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