mtime을 사용하여 1일보다 오래된 파일을 찾는 방법은 무엇입니까? [복사]

mtime을 사용하여 1일보다 오래된 파일을 찾는 방법은 무엇입니까? [복사]

1일이 지난 모든 파일을 삭제하려고 합니다. 파일을 삭제하는 스크립트를 실행하기 전에 mtime을 사용하여 파일을 찾아 보았습니다. 그러나 내 명령과 동일한 문제에 직면하고 있습니다.

내 현재 날짜는 다음과 같습니다.

Wed Jan 27 11:49:20 BDT 2016

내 파일 목록은 -

Jan 25 15:11 25-01-2016.txt            
Jan 26 13:05 26-01-2016.txt    
Jan 27 02:30 27-01-2016.txt    
Jan 25 15:11 dfk-25-01-2016.txt    
Jan 26 13:05 dfk-26-01-2016.txt      
Jan 27 02:30 dfk-27-01-2016.txt 

-mtime +1하루가 지난 모든 파일이 나열되어야 한다고 생각합니다 .

find /etc/output/*.txt -mtime +1
find /etc/output/*.txt -mtime +0

/output/25-01-2016.txt
/output/dfk-25-01-2016.txt

find /etc/output/*.txt -mtime -1

/output/26-01-2016.txt
/output/27-01-2016.txt
/output/dfk-26-01-2016.txt
/output/dfk-27-01-2016.txt

내가 원하는 출력은 다음과 같습니다.

find /etc/output/*.txt -mtime +1

/output/25-01-2016.txt
/output/dfk-25-01-2016.txt

find /etc/output/*.txt -mtime +0

/output/26-01-2016.txt
/output/dfk-26-01-2016.txt
/output/25-01-2016.txt
/output/dfk-25-01-2016.txt

답변1

두 가지 점: "소수 부분 무시"를 찾으세요. 시간을 계산하고 24로 나눈 다음 결과를 정수화합니다(소수점 제외). 따라서 -mtime 0파일을 확인하고, mtime을 비교하고, 시간으로 변환하고, 24로 나눕니다. 결과의 정수 부분이 0이면 일치함을 나타냅니다. 이는 0.99999시간 전이 일치한다는 의미입니다. 그런 다음 -mtime +0최소 24시간의 시간 차이가 있는 모든 파일을 일치시킵니다.

n둘째, mtime이 지금부터 -24시간이 아닌 역일을 계산하도록 하려면 를 사용하십시오 -daystart.-daystart -mtime 0오늘그리고 -daystart -mtime +0오늘 전에도 말했다.

관련 정보