时间:2021-05-24
在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
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
linux删除文件的方法如下: 1、打开Linux系统,创建一个空文件和空文件夹; 2、rm文件名(功能:删除文件); 3、rm*(功能:删除该路径下的所
在Linux终端下处理文件时,有时我们想直接清空文件的内容但又不必使用任何Linux命令行编辑器去打开这些文件。那怎样才能达到这个目的呢?在这篇文章中,我们将介
在某些时候,需要清空文件内容,而不删除文件。比喻有些日志文件(log.txt);在linux下的命令为:true>log.txt测试结果:touchlog.tx
touch命令用于创建空文件,也可以更改Unix和Linux系统上现有文件时间戳。这里所说的更改时间戳意味着更新文件和目录的访问以及修改时间。让我们来看看tou
今天在分析mysql的慢查询,发现文件太大了,分析必然会占用太多的io,所以就需要先清空慢查询文件,借此机会分享一下linux/unix下清空文件的方法:使用/