2016-04-21 25 views
0

我必須檢查在過去24小時內修改過的那個文件的用戶和所有者。我無法理解我怎麼能得到在過去24小時內修改的文件在24小時內修改的Grep文件unix

這個命令的
ls -lrt /dirpath | grep 'Util' 

輸出是:

-rw-r--r-- 1 user user  186 Apr 11 08:05 Util-04-11.log.gz 
-rw-r--r-- 1 user user  185 Apr 12 08:05 Util-04-12.log.gz 
-rw-r--r-- 1 user user  186 Apr 13 08:05 Util-04-13.log.gz 
-rw-r--r-- 1 user user  186 Apr 14 08:05 Util-04-14.log.gz 
-rw-r--r-- 1 user user  278 Apr 20 08:05 Util-04-20.log 

現在我要檢查用戶和它在過去的24修改hours.How我們可以在UNIX做這個文件的所有者。

回答

1

您可以使用find過濾具有相應修改日期的文件。

從手冊頁:

find $HOME -mtime 0 

搜索已在 被修改的最後24小時在你的家目錄中的文件。此命令以這種方式工作,因爲每個文件上次修改後的時間爲 除以24小時,並且任何餘數都被丟棄。這意味着要匹配-mtime 0, 文件必須在過去不得不進行修改,而不是在24小時前更改 。

考慮到這一點,你可以使用-exec選項來構建以下命令

find /dirpath -mtime 0 -exec stat -c "%n %U %G" '{}' \; 
+0

我必須找到在過去24小時內修改的特定文件,然後必須檢查usr和組 – Developer

+0

什麼特定的文件?其他文件是否存在?或者使用@ j-chomel的答案 –

0

您可以使用find命令指定的創建時間不超過一天(-ctime 0),然後使用xargs來執行您的ls

find /dirpath -name "*Util*" -ctime 0 -type f |xargs ls -lrt 

希望它有幫助。