2013-06-28 45 views
0

當我運行此命令:發現-mtime返回錯誤的房源

root:/home/mws 0$ ls -lrt `find /home/data/ll_misc_logs/ -mtime +20` 

而且沒有滿足的mtime設置,20天的文件,它會列出當前目錄中的內容,/家庭/ MWS 爲什麼? 有沒有方法可以不返回任何內容或消息?

+1

嘗試發佈到超級用戶或linux/unix – mitchfish36

回答

3

當沒有滿足mtime設置的文件時,find ....的輸出擴展爲...無。在這種情況下,您的命令將變爲ls -lrt,它將始終列出當前目錄。

如果沒有一個典型的運行太多的文件,這可能會更好地工作:

find /home/data/ll_misc_logs -mtime +20 -print0 | xargs -0 -r ls -ltr 

但是,如果你得到xargs決定將其分割成多個調用這麼多的文件,它可能贏你做的也不是你想要的。

這導致我......您究竟在做什麼?從表面上看,它看起來像是「按照修改時間顯示舊文件」,但它可能是更高效的一部分,可能以更高效的方式解決(並且不易出錯)...

0

如果你只是想要一個超過20天的文件列表,按照舊的先舊排序:

find /home/data/ll_misc_logs -mtime +20 -exec ls -l --time-style=%s {} \; | sort -n -k 6