欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux如何过滤空文件?Linux过滤空文件的命令总结

程序员文章站 2022-07-07 12:31:56
最近一些Linux用户发现很多日志文件都是空文件,如何过滤呢?今天小编就为大家带来Linux过滤空文件的命令总结,希望对大家会有帮助,有需要的朋友一起去看看吧... 17-04-07...

在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