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

时间: 2024-09-21 20:28:14

linux过滤空文件的命令总结的相关文章

linux 批量删除文件与空文件删除命令

linux下面删除文件或者目录命令rm(remove) 功能说明:删除文件或目录. 语 法:rm [-dfirv][--help][--version][文件或目录...] 补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件. 参 数: -d或--directory 直接把欲删除的目录的硬连接数据删成0,删除该目录. -f或--force 强制删除文件或目录. -i或--interactive 删除既有文件或目录之前先询问用户. -r或-R或

linux系统中的批量删除文件与空文件删除的命令介绍

本章为大家详细的整理了,在linux系统中批量删除文件和空文件删除的命令,请大家"对症下药" linux下面删除文件或者目录命令rm(remove) 功能说明:删除文件或目录. 语 法:rm [-dfirv][--help][--version][文件或目录...] 补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件. 参 数: -d或--directory 直接把欲删除的目录的硬连接数据删成0,删除该目录. -f或--f

linux中find批量删除空文件及空文件夹脚本

linux下批量删除空文件(大小等于0的文件)的方法  代码如下 复制代码 find . -name "*" -type f -size 0c | xargs -n 1 rm -f 用这个还可以删除指定大小的文件,只要修改对应的 -size 参数就行,例如:  代码如下 复制代码 find . -name "*" -type f -size 1024c | xargs -n 1 rm -f 就是删除1k大小的文件.(但注意不要用 -size 1k,这个得到的是占用空

【日常小记】linux中强大且常用命令:find、grep

在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1.find命令 find命令是一个无处不在命令,是linux中最有用的命令之一.find命令用于:在一个目录(及子目录)中搜索文件,你可以

Linux中强大且常用命令:find、grep

在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1.find命令 find命令是一个无处不在命令,是linux中最有用的命令之一.find命令用于:在一个目录(及子目录)中搜索文件,你可以

linux 中强大且常用命令:find、grep

在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,它哥俩可以算是必会的linux命令,我几乎每天都要用到它们.   1.find命令 find命令是一个无处不在命令,是linux中最有用的命令之一.find命令用于:在一个目录(及子目录)中搜索文件,你可以指定一些匹配条件,如按文件名.文件类型.用户甚至是时间戳查找文件.下面就通过实例来体验下find命令的强大. 1.1.find命令的一般形式 man文档中给出的find命令的一般形式为: find [-H]

【日常小记】linux中强大且常用命令:find、grep【转】

转自:http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1.fin

linux下touch和stat命令用法

stat 文本编辑器 我们知道touch是创建文件,其实touch是用来修改文件的时间戳,同时 ,文件是有三个时间 访问时间记录最近一次文件被访问时间,只要一个文件被打开,就意味着背后有一个相应的IO,打开是一个写IO(写访问时间到磁盘属性中) touch命令: [root@docker-node1 ~]# touch linuxea [root@docker-node1 ~]# file linuxea linuxea: empty [root@docker-node1 ~]# touch一个

如何解决空文件夹无法删除、移动或重命名的问题

宁夏 green:我的电脑的最后一个分区是G盘,最近不知道为什么,G盘总是自动创建一些名称怪异的空文件夹(如"_95561_"这样的文件夹),而且这些空文件夹无法删除.移动或重命名.我发现不仅是这些空文件夹无法删除,这个分区中的所有文件都无法删除,请问,我的硬盘出现了磁道错误吗? Dr.Known:出现上述情况,和硬盘磁道错误没有什么直接关系.我建议你先安装杀毒软件,并更新病毒库到最新版本,对硬盘进行一次全面的扫描操作,排除病毒干扰.另外,你还可以回忆一下出现这种现象前,安装了什么比较