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
本文介绍了如何使用Shell命令如sed、awk和grep在字符串中删除空格,以及从文件中删除空行的方法。提供了两种删除行首、行尾空格和空行的实例,适合Shell编程初学者参考。
1237

被折叠的 条评论
为什么被折叠?



