2012-11-26 29 views
0

我有一個unix腳本,我希望在多個文件上運行。日誌結構是這樣的:如何選擇帶有通配符的目錄

/loghome_dir/Env_AppName_AppInstance/app-server.date.log 

我想作爲流向運行腳本:

cd到正確的目錄,並檢查今天的日誌文件,但是我無法在我的腳本做這個。

理想我想沿着線的東西:

cd /loghome_dir/*AppInstance/ 

然而這是錯誤的使用通配符我需要的東西簡單地搜索目錄爲我匹配AppInstance的。

+0

爲什麼'/ loghome_dir/* AppInstance /'錯誤?匹配的AppInstance將如何看起來像? –

回答

0

一個解決方案可能看起來像

#! /bin/sh 

today=`date +"%Y-%m-%d"` 
myscript.sh /loghome_dir/Env_*_AppInstance/app-server.${today}.log 
0

我想你可以列出目錄,然後檢查他們一個接一個。

preDIR=$PWD 
for dir in `ls /loghome_dir/*AppInstnace/` 
do 
cd $dir 
$(YOUR WORK) 
cd $preDIR 
done 

或者只是使用find來查找使用其時間選項的文件。

查找{路徑} -ctime 1分型的F

爲了找到其中創建或修改的24小時前的文件。