2014-02-26 27 views
0

考虑今天的日期为24/02/14检验T日的文件,然后检查是否有任何事情是有在该文件

我已在提到目录中的文件“/ apps_kplus/KplusOpenReport/crs_scripts/rconvysya”和文件名作为

INTTRADIVBMM20142402

INTTRADIVBFX20142402

INTTRADIVBFI20142402

INTTRADIVBDE20142402

INTPOSIVBIR20142402

INTPOSIVBIR20142302

INTTRADIVBDE20142302

INTTRADIVBFI20142302

INTTRADIVBFX20142302

INTTRADIVBMM20142302

我需要找到今天的日期FIL es(count总是5),然后需要检查是否有文件是空的?所以有两种方法。

1日检查文件大小

第二校验字在这些文件中

截至目前,我能够获得今天的日期为文件(计数为5总是)算,如何检查第二个条件,即如果文件是空的。如果文件不为空,然后退出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 

回答

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 
+0

你能为我提供准确的查询。我不熟悉脚本。 – user3164140

+0

已更新,如果任何日期过期的文件为空或返回代码为4,则退出并返回代码3 – Timmah

+0

Sory它不起作用。为了理解,我正在用回声替换出口。但即使提交文件夹中没有Tdate文件,仍然会将查询输出为4.我已将其大小为0k的文件放置在文件夹中仍然输出为4. – user3164140

相关问题