이전 파일을 찾기 위해 "찾기"를 얻을 수 없습니다. 내 검색 결과를 하나의 명령문에 연결하고 다른 모든 세그먼트는 정상적으로 작동합니다. 여기 내가 가지고있는 것의 정돈 된 버전이 있습니다. 디렉토리 트리에서 $ path를 검색하고 모든 파일, 365 일 이전에 변경된 파일 및 모든 디렉토리와 같은 발견 된 항목마다 줄 바꿈 문자 만 포함하는 별도의 임시 파일을 만듭니다. 파일과 디렉토리가 잘 작동하고 있습니다 (여기에 포함되지 않은 다른 6 개의 체인 검색).하지만 ctime은 0 개의 히트를 반환하며 사용중인 디렉토리에 일치하는 파일이 있다는 것을 알고 있습니다.BASH가 ctime이 예상대로 작동하지 않음을 발견했습니다.
find $path \
\(-type f -fprintf /tmp/files.txt "\n" \) , \
\(-type f -ctime +365 -fprintf /tmp/oldfiles.txt "\n" \) , \
\(-type d -fprintf /tmp/dirs.txt "\n" \)
이것은 찾기위한 매뉴얼 페이지와 일치하는 것으로 보입니다. -ctime n은 n 일의 변경 시간을 가진 파일을 찾습니다. +는 n 일을 넘겨주고, -는 < 일을 주며, 아무런 표시도 정확히 n 일을주지 않습니다. 외모가 모든 라인에 있지만, 내 임시 파일은 여전히 0 라인으로 나오고있다. 이견있는 사람? 또한 참고로, 처리 시간을 절약하기 위해 파일 시스템을 한 번에 통과하면서 이러한 파일을 찾아야합니다.
일치하려는 파일의 나이는 몇 살입니까? '-ctime'은 분수 일수록 반올림하기 때문에, 표현식은 36 * 6 * 일 전에 작성된 파일과 일치합니다. – chepner
내 디렉토리에는 365 일보다 훨씬 오래된 파일이 있습니다. – mrimin
365 일 이내에이 파일을 전혀 건드리지 않았습니까? 'ls -lc'는 당신이 매치시키고 자하는 파일에 대해 무엇을 말합니까? – Gilles