2017-06-14 33 views
0

你能幫我建立一個unix腳本來檢查今天創建的同一位置的多個文件嗎我嘗試了下面的代碼,但是這是檢查多個位置文件。UNIX腳本來檢查今天創建的相同位置的Multile文件

enter function WRITE_LOG(){ 
    echo "$(date) : [email protected]" >> ${LOG_FILE} 

}

function CHECK_FILE(){ 
cd ${1} 
WRITE_LOG "Checking files in ${1}" 
ls -l | grep -q "$(date "+%Y-%m-%d").*RIG*" 
if [ "$?" -eq "0" ] 
then 
     WRITE_LOG "File created for today" 
else 
     WRITE_LOG "File not created. please check" 
fi 
} 

WRITE_LOG "Look for abc files" > $LOG_FILE 
CHECK_FILE "/abc/zyx" 
CHECK_FILE "/abc/QLD1" 
CHECK_FILE "/abc/SAa" 
export MAILTO="[email protected]" 
export CONTENT="/home/abc/LOG/HC.log" 
export SUBJECT="check for files Generated Today" 
(
echo "Subject: $SUBJECT" 
echo "MIME-Version: 1.0" 
echo "Content-Type: text/html" 
echo "Content-Disposition: inline" 
echo '<HTML><BODY><PRE>' 
cat $CONTENT 
echo '</PRE></BODY></HTML>' 
) | /usr/sbin/sendmail $MAILTO 

    code here 
+0

你能解釋一下你的多個位置是什麼意思? – skr

+0

我想檢查文件abc.RIG在多個文件夾 – vinnu

+0

在位置/ abc/xyz我有其中的很多文件我想要選中的5個文件來檢查文件是否已經創建今天或沒有,並將它們保存在日誌 – vinnu

回答

0
function CHECK_FILE(){ 
    cd ${1} 
    WRITE_LOG "Checking files in ${1}" 
    FILE=`find . -type f -name "abc.RIG"` 

    for OUTPUT in $FILE 
    do 
     ls -l $OUTPUT | grep -q "$(date "+%Y-%m-%d").*RIG*" 
     if [ "$?" -eq "0" ] 
     then 
      WRITE_LOG "File created for today" 
     else 
      WRITE_LOG "File not created. please check" 
     fi 
    done 
} 
+0

謝謝,在多個文件中,我只想檢查這5個文件(abc.txt,xyz.txt,pqt.txt,gty.txt,pr.RIG)在同一位置,我如何在代碼上面執行它。 – vinnu

+0

我只想搜索今天創建的這5個文件(abc.txt,xyz.RIG,pqt.txt,gty.txt,pr.RIG)並且打印是否創建 – vinnu

相關問題