2013-06-06 54 views
0

我想使用bash腳本在目錄中找到最新的日誌文件(.log擴展名)。bash腳本查找最新的日誌文件

起初,我簡單的嘗試工作確定

filename=`ls -t -c1 | head -1` 

但當我承認,比日誌文件的其他文件可以發現,這並不因爲通配符擴展的工作

filename=`ls -t -c1 *.log | head -1` 

所以我相信我必須將ls命令讀入數組或文件,然後從那裏進行處理。

+0

你是什麼意思「它不工作,因爲通配符擴展」?這個對我有用。 – paddy

+0

你知道,你是對的,這個例子確實有效。在簡化我的腳本成爲一個例子時,有些東西丟失了。我會更仔細地觀察我現在所患的症狀並在明天報告。謝謝... – Lyle

回答

1

它似乎很好地工作....

Kaizen ~/so_test $ ls -lt -c1 z* 
-rw-r--r-- 1 Nitin None 318 Jun 5 21:59 ztestfile1 
-rwxrwxrwx 1 Nitin None 398 Jun 5 21:41 zawk1.sh 

或者你可以嘗試與發現你的手....

Kaizen ~/so_test $ find . -mtime 0 -a -mtime -1 -iname "z*" | xargs ls -ltr | sort -k9 -r 
-rw-r--r-- 1 Nitin None 318 Jun 5 21:59 ./ztestfile1 
-rwxrwxrwx 1 Nitin None 398 Jun 5 21:41 ./zawk1.sh 

但這需要一點TWIK以滿足您的確切的需要。

+0

經過一些測試後,我確實*沒有*有問題。對不起,虛驚一場,但感謝您的建議....萊爾 – Lyle

+0

不客氣 – nsd