linux过滤空文件的命令总结(r2笔记40天)

在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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部