30일이 지난 디렉터리의 파일을 삭제하고 싶지만 내 디렉터리의 파일은 삭제하고 싶지 않습니다.
답변1
파일을 삭제하기 전에 나열하려면:
find . -maxdepth 1 -mtime +30 -type f -ls
파일을 삭제하려면:
find . -maxdepth 1 -mtime +30 -type f -exec rm {} +
그리고
.
현재 디렉터리 지정-maxdepth 1
디렉토리의 1레벨까지 내려갑니다.-mtime +30
마지막으로 수정된 날짜가 30일을 초과한 파일만-type f
일반 파일만
답변2
zsh 쉘에는특수 와일드카드 확장 기능그게 도움이 될 거예요.
현재 디렉터리에서 30일이 지난 파일을 나열합니다.
ls -d -- *(.m+30)
현재 디렉터리에서 30일이 지난 파일을 삭제합니다.
rm -- *(.m+30)
zsh 구문은 *(.m+30)
와일드카드입니다. 즉, 다음을 의미합니다.
*
-- 임의의 파일 이름( ... )
-- 예선은....
-- 일반 파일(디렉토리 등이 아님)m+30
--수정 시간이 30일 이상 전입니다.