检查T日期文件,然后检查该文件中是否有任何内容

时间:2014-02-26 07:25:31

标签: linux bash shell unix csh

将今天的日期视为24/02/14

我在提及目录“/ apps_kplus / KplusOpenReport / crs_scripts / rconvysya”中设置了文件,文件名为

INTTRADIVBMM20142402

INTTRADIVBFX20142402

INTTRADIVBFI20142402

INTTRADIVBDE20142402

INTPOSIVBIR20142402

INTPOSIVBIR20142302

INTTRADIVBDE20142302

INTTRADIVBFI20142302

INTTRADIVBFX20142302

INTTRADIVBMM20142302

我需要找到今天的日期文件(计数总是5),然后需要检查是否有任何文件是空的?所以有两种方式。

第一次检查文件大小

这些文件中的第二次检查字数

截至目前,我能够获得今天的日期文件(计数将始终为5),如何检查第二个条件,即文件是否为空。如果file不为空,则退出4,否则退出3。  我的代码是

 #! /bin/bash
tm=$(date +%y%d%m)
x=$(ls /apps_kplus/KplusOpenReport/crs_scripts/rconvysya/ | grep $tm | wc -l)
if [ $x -eq 5 ]
then
exit 4
else
exit 3

1 个答案:

答案 0 :(得分:0)

你可以尝试下面的内容:

tm=$(date '+%Y%m%d')
count=0
loc="/apps_kplus/KplusOpenReport/crs_scripts/rconvysya/*$tm"
for f in $loc; do        
    if [ ! -s $f ]; then
        exit 3
    fi
    (( count++ ))
done

if [ $count -ne 0 ]; then
    exit 4
fi