find -mmin을 사용하여 향후 수정 시간이있는 파일 찾기


9

사용할 수 있습니다

find . -mmin -5

지난 5 분 동안 변경된 파일을 찾기 위해 그러나 나중에 음수를 지정하여 수정 시간이있는 파일을 찾으려고하면 find거부합니다.

find . -mmin --1

표준 Linux에 향후 수정 시간을 줄 수있는 방법이 find있습니까?

답변:


9

향후 5 일 이상 수정 된 파일을 찾으려면 다음을 사용하십시오.

find . -newermt "5 days"

시간 사양의 구문은의 구문에 해당합니다 date -d. 자세한 내용 man find은 스위치 이름에 -newerXY대한 정보를 참조하십시오.

-mmin를 들어 이를 사용하는 것은 불가능합니다 . GNU find에 대한 버그보고되었으며-newerXY 위에서 설명한대로 findutils 4.3.3 (~ 2007)에서 구현 하여 해결되었습니다 .


분명히 사용 된 GNU 찾기가 아니라 BusyBox였습니다.

그런 다음 touch -d향후 날짜와 날짜가 포함 된 임시 파일을 만든 후 다음 과 같은 용도로 -newer스위치를 사용할 수 있습니다 find.

touch -d "+5 days" tmpfile
find . -newer tmpfile

BusyBox touch는 해당 날짜 형식을 지원하지 않지만 원칙은 동일하며 find지원합니다 -newer. 올바른 날짜로 참조 파일을 작성하는 것은 독자를위한 연습으로 남습니다 (항상 작성하기 편리함).


감사. 내 문제는 내 찾기가 오래된 내장 BusyBox 찾기이며 binutil 찾기가 아니라는 것입니다. 분명히 표준 리눅스 방식은 여기에서 작동하지 않습니다. :(
Muxecoid

@Muxecoid : BusyBox 설명으로 답변을 업데이트했습니다.
Daniel Andersson

이로 인해 미래에 우연히 이미 10 시간 동안 무언가를했던 새로운 기계 (이미 오프셋 된 하드웨어 시계에 적용된 시간대 오프셋)와 시계를 수정 한 후 configure스크립트가 미래의 일에 대해 불평했다. 한 시간 반 정도 정도) : find . -newermt '1 hour' | xargs touch -d '-9 hours'나는 계속할 수 있습니다. :-)
Chris Morgan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.