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
오늘 전에도 말했다.