ITPub博客

首页 > Linux操作系统 > Linux操作系统 > linux过滤空文件的命令总结

linux过滤空文件的命令总结

原创 Linux操作系统 作者:jeanron100 时间:2014-07-21 21:29:37 1 删除 编辑
在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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23718752/viewspace-1224126/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
感谢厚爱,阵地已转移到微信公众号端。 公众号:jianrong-notes

注册时间:2012-05-14

  • 博文量
    1890
  • 访问量
    8435194