Linux
查找+列印帶有時間戳的文件
以下查找語法將列印 10 天之前的文件
find /var/log/ambari-metrics-collector -type f -mtime +10 -regex '.*\.log.*[0-9]$' -print /var/log/ambari-metrics-collector/collector-gc.log-201808130951 /var/log/ambari-metrics-collector/collector-gc.log-201808130403 /var/log/ambari-metrics-collector/gc.log-201808011229 /var/log/ambari-metrics-collector/collector-gc.log-201808011229 /var/log/ambari-metrics-collector/gc.log-201808091332
為了列印以下範例需要添加到我的語法中,因此時間戳將在文件路徑之前
2018 Aug 28 14:20 /var/log/ambari-metrics-collector/collector-gc.log-201808130951 2018 Aug 28 12:12 /var/log/ambari-metrics-collector/collector-gc.log-201808130403 2018 Aug 28 14:32 /var/log/ambari-metrics-collector/gc.log-201808011229 2018 Aug 28 14:32 /var/log/ambari-metrics-collector/collector-gc.log-201808011229 2018 Aug 28 11:22 /var/log/ambari-metrics-collector/gc.log-201808091332
使用 GNU時,請
find
使用-printf format
.find /var/log/ambari-metrics-collector -type f -mtime +10 -regex '.*\.log.*[0-9]$' -printf '%TY %Tb %Td %TH:%TM %p\n'
第一個字母——時間的“類型”:
%T
——修改時間。%C
——創作時間。%A
——訪問時間。第二個字母(即緊跟在時間的«類型»之後)是從
strftime()
/date
到顯示的欄位。請注意,
-mtime +10
查找超過11天的文件,而不是 10 天(其年齡,向下舍入到整數天數嚴格大於 10)。另請注意,這
-regex '.*\.log.*[0-9]$'
將與foo.login/file.tar.bz2
文件匹配。您不妨使用-name '*.log*[0-9]'
更嚴格的標準(仍將匹配 onfile.login.tar.bz2
)。