感谢支持
我们一直在努力

Linux过滤空文件的命令总结

在Linux中有经常做文件的操作,今天有个同事在生产环境统计数据,发现有很多日志文件都是空的,文件太多了,他想查看一下有哪些文件不是空文件。

而且还不想使用脚本,就想用一个命令来搞定,确实够懒的一个人。 简单模拟了下。我只想查看e.lst 因为它的大小不是空的。
 

DUM1102 /oravl01/Oracle> ll *.lst
 -rw-r–r–  1 oracle    dba              0 Jul 21 15:39 a.lst
 -rw-r–r–  1 oracle    dba              0 Jul 21 15:39 b.lst
 -rw-r–r–  1 oracle    dba              0 Jul 21 15:39 c.lst
 -rw-r–r–  1 oracle    dba              0 Jul 21 15:39 d.lst
 -rw-r–r–  1 oracle    dba              7 Jul 21 15:39 e.lst
 
最精简的命令就是使用grep了。
 DUM1102 /oravl01/oracle> ll *.lst|grep -v ” 0 “
 -rw-r–r–  1 oracle    dba              7 Jul 21 15:39 e.lst
 
当然也可以使用awk来完成。
 难度再升级一下,新增一个文件 f.lst 现在文件的结构如下:
 DUM1102 /oravl01/oracle> ll *.lst
 -rw-r–r–  1 oracle    dba              0 Jul 21 15:39 a.lst
 -rw-r–r–  1 oracle    dba              0 Jul 21 15:39 b.lst
 -rw-r–r–  1 oracle    dba              0 Jul 21 15:39 c.lst
 -rw-r–r–  1 oracle    dba              0 Jul 21 15:39 d.lst
 -rw-r–r–  1 oracle    dba              7 Jul 21 15:39 e.lst
 -rw-r–r–  1 oracle    dba            14 Jul 21 16:35 f.lst
 
他现在想查看大小为7字节的文件,使用awk来牛刀小试。
 ll *.lst | awk -v file_size=7 ‘{ if ( $5==file_size ) print $5 ” ” $9}’
 DUM1102 /oravl01/oracle> ll *.lst | awk -v file_size=7 ‘{ if ( $5==file_size ) print $5 ” ” $9}’     
 7 e.lst

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-07/104641.htm

赞(0) 打赏
转载请注明出处:服务器评测 » Linux过滤空文件的命令总结
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏