타임스탬프가 있는 파일 찾기 및 인쇄

타임스탬프가 있는 파일 찾기 및 인쇄

다음 검색 구문은 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).

관련 정보