다음 검색 구문은 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
답변1
GNU 의 경우 대신 을 find
사용하세요 . 예를 들면 다음과 같습니다.-printf format
-print
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
초과하는 파일을 조심해서 찾으세요 .1110일이 아닌 일(일수로 반내림된 나이는엄격하게10보다 큼).
또한 -regex '.*\.log.*[0-9]$'
예를 들어 파일과 일치한다는 점에 유의하세요. 더 엄격한 기준을 foo.login/file.tar.bz2
사용하는 것이 좋습니다 -name '*.log*[0-9]'
(여전히 일치함 file.login.tar.bz2
).