2014-02-26 53 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

相關問題