최근 수정된 파일 목록

최근 수정된 파일 목록

3개월 전에 수정된 모든 파일 목록을 어떻게 얻을 수 있습니까? 나는 확인했다이것질문이 있지만 내 시나리오에 적용할 수 없습니다. 지금 시도 중인데 작동하는 것 같지만 find를 사용하는 더 좋은 방법이 있어야 한다는 것을 알고 있습니다.

ls -ltR | grep -v '2011-05' | grep -v '2011-06' | grep -v '2011-07' | grep -v '2011-08

답변1

한 가지 해결책은 다음과 같습니다.find . -type f -mtime 90

이는 90일 전에 마지막으로 수정된 파일을 찾습니다(91 x 24시간 전에 시작하여 90 x 24시간 전에 끝나는 24시간 기간).

find . -type f -mtime -90지난 90일 동안(또는 향후) 수정된 파일을 찾습니다.

find . -type f -mtime +90최소 91일 전에 수정된 파일을 찾습니다(적어도 POSIX 호환 find구현에서는).

답변2

@hknik이 말했듯 -mtime이 작업이 find가장 좋은 방법일 수 있지만 모든 파일을 얻으려면에 대한3개월 전에는 더 큰 네트가 필요했습니다.

find . -type f -mtime -105 -mtime +76

약 3개월 전, 11~15주 전의 일반 파일을 찾습니다.

(7 x 11 = 77이 아닌 76이라는 점에 유의하세요. 파일 수명을 76일보다 엄격하게 큰 정수로 반올림하여 최소 77일(11주)의 파일을 얻으려고 하기 때문입니다.)

답변3

그리고 zsh그리고(.m[-|+]n) 글로벌 예선:

print -rl -- *(.m90)

90일 전에 수정된 파일이 나열됩니다(POSIX와 마찬가지로 91 x 24시간 전에 시작하여 90 x 24시간 전에 끝나는 24시간 기간 find -mtime 90).

print -rl -- *(.m-90)

지난 90일 동안(또는 향후) 수정된 파일을 나열합니다.

print -rl -- *(.m-100m+90)

91일에서 100일 사이에 수정된 파일이 나열됩니다.

답변4

"3개월 전" 및 "최신 XY" 구문을 직접 사용할 수 있습니다.

 find . -maxdepth 2 -xdev -type f -newermt '3 months ago'

( 검색을 제한하기 위해 maxdepth추가 했습니다 )xdev

이러한 상대 날짜의 경우 분, 시간, 일, 주 및 월을 사용할 수 있습니다.

"m"은 수정 시간을 나타내고 "t"는 직접 시간(참조된 파일의 날짜가 아님)을 나타냅니다.


또는 1월 1일부터 15일까지 두 개의 절대 날짜를 결합하여 기간을 선택합니다.

#] find . -maxdepth 2  -newermt 'Jan 1'  ! -newermt 'Jan 15' -ls

   415640      4 -rw-r--r--   1  root     root         2190 Jan  8 15:14 ./df.man
   412465      4 -rw-r--r--   1  root     root           98 Jan  1  2020 ./ranfunc
   412282      4 -rw-------   1  root     root           23 Jan 13 16:53 ./.python_history
   406542      0 lrwxrwxrwx   1  root     root           56 Jan  8 19:46 ./.fvwm/.BGdefault -> /usr/share/fvwm/default-config/images/background/bg3.png
   417900     28 -rw-r--r--   1  root     root        25990 Jan  3 09:48 ./xterm.2020.01.03.09.48.03.xhtml

관련 정보