方法一:利用grep
grep -v '^\s*$' test.txt
注:-v表示将匹配的结果进行反转,正则表达式匹配空行。(空行可包括空格符制表符等空白字符)
方法二:利用sed
sed '/^\s*$/d' test.txt
注:d代表删除该行
方法三:利用awk
awk NF test.txt
注:NF代表当前行的字段数,空行的话字段数为0,被awk解释为假,因此不进行输出。
以上三种方式均可处理包含空白字符(空格符,制表符等)的空行。
方法四:若空行均由’\n'造成,则还可以利用tr命令去除空行。《Linux就该这么学》
tr -s '\n' <test.txt
注:-s代表将多个连续的字符压缩成一个字符,这里是将多个‘\n'压缩成一个'\n',达到去除空行的效果。
方法四的缺陷:如果首行就出现空行的话则无法去除首行的空行
kwrite 选上你要删除开始为空格的那些行,之后 shift + tab 。如果是 GNOME 环境,可以用 gedit 。
这两个好像都叫做“文本编辑器”。只不过基于的环境不同。
这个功能本来主要是方便写程序的。
先建脚本:clearspace.sh
给脚本添加执行权限 chmod +x clearspace.sh
编辑脚本内容:
touch tmpFile # 建临时文件
sed 's/\ //g' $1 >temFile #sed s命令 将空格替换 重定向到临时文件
cat temFile >$1 #覆盖原文件
rm -f temFile #删除临时文件
echo 'OK,DONE!'
执行脚本 ./clearspace.sh souceFile
实例:
执行前:
查看原文件:cat source.txt
sfd as as da la as las j8
890asfd f22
2 23rf a 23rfa
asdf9293 22 sdf
234 23r4 sdk
, . ' ds
sadf wow
sa s sd
执行
./clearspace.sh source.txt
OK,DONE!
执行之后查看结果:cat source.txt
sfdasasdalaaslasj8
890asfdf22
223rfa23rfa
asdf929322sdf
23423r4sdk
,.'ds
sadfwow
sassd
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)