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