linux過濾空文件的命令總結
作者:jeanron100
在linux中有經(jīng)常做文件的操作,今天有個同事在生產(chǎn)環(huán)境統(tǒng)計數(shù)據(jù),發(fā)現(xiàn)有很多日志文件都是空的,文件太多了,他想查看一下有哪些文件不是空文件。而且還不想使用腳本,就想用一個命令來搞定,確實夠懶的一個人。
在linux中有經(jīng)常做文件的操作,今天有個同事在生產(chǎn)環(huán)境統(tǒng)計數(shù)據(jù),發(fā)現(xiàn)有很多日志文件都是空的,文件太多了,他想查看一下有哪些文件不是空文件。
而且還不想使用腳本,就想用一個命令來搞定,確實夠懶的一個人。
簡單模擬了下。我只想查看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 現(xiàn)在文件的結構如下:
- 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
他現(xiàn)在想查看大小為7字節(jié)的文件,使用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
責任編輯:牛小雨
來源:
jeanron100的博客