linux,清除文本中的空白行

#今天需要批量下载文件的时间,发现文件与文件之间存在空白行,所有记录一下删除空白行的方法

1、	egrep -v "^[[:blank:]]*$" filename >newfile

	egrep 就等于 grep -E 代表使用扩展正则表达式
	-v "^[[:blank:]]*$"   -v 反选,除了"^[[:blank:]]*$" 这里的内容全部展示出来
	"^[[:blank:]]*$"  [[:blank:]] 是Posix字符集代表空格与[tab],^匹配什么开头,* 匹配0次或者多次 $ 匹配什么结尾
	"^[[:blank:]]*$" 连起来就是匹配空格开头, 0 到 n 个空格结尾
	egrep -v "^[[:blank:]]*$" filename  展示的内容就是,排除一整行都是空格的的内容

2、	egrep -v "^[[:space:]]*$" filename > newfile
	[[:space:]] 是Posix字符集代表空白符
	egrep -v "^[[:space:]]*$" filename 展示的内容就是,排除一整行都是空白符的内容
	
3、	awk '!/^[[:blank:]]*$/{print $0}' filename >newfile

	'!/^[[:blank:]]*$/ '	^[[:blank:]]*$ 空格开头n个空格结尾,加一个! ,就是展示不以一个空格开头n个空格结尾的内容
	{print $0} 打印完整的输入记录
	
4、	awk '!/^[[:space:]]*$/{print $0} ' filename >newfile
	'!/^[[:space:]]*$/ '  ^[[:space:]]*$ 空白符开头n个空白符结尾,加一个! ,就是展示不以一个空白符开头n个空白符结尾的内容
	{print $0} 打印完整的输入记录
	
5、	sed '/^[[:blank:]]*$/d' filename
	^[[:blank:]]*$ 把找到的已空格开头,n个空格结尾的删除掉 ,d 代表删除
	
6、	sed '/^[[:space:]]*$/d' filename^[[:space:]]*$/d 把找到的已空白符开头,n个空白符结尾的删除掉 ,d 代表删除

#介绍一些常用的Posix字符集
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值