[ Shell入門教程 ] 字符串空格和文件空行刪除


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM