답변:
이 명령으로 할 수 있습니다
find /path/to/files* -mtime +365 -exec rm {} \;
일부 설명
/path/to/files* 파일의 경로입니다.
-mtime파일의 일 수를 지정하는 데 사용됩니다. +365는 1 년인 365 일보다 오래된 파일을 찾습니다.
-exec rm과 같은 명령을 전달할 수 있습니다.
@Oli note-> 덕분에 편집 할 수 있습니다.
find /path/to/files* -mtime +365 -delete
"{}"으로 {}그것을 전달하기 전에 find처음부터 한 후 find대체를 그것을 인용.이 {}경우에 제안 {과 }자신이 때로는 쉘에 의해 특별하게 처리 할 수있다 -에 무관 공백으로 처리하고 종종 {}인용 할 필요가 없습니다. 본인 스타일의 쉘에서 찾기를 호출 할 때 {}, 내부에 아무것도없는, 자체적으로 인수로 나타나는 경우 어떤 상황도 생각할 수 없습니다.
find핸들 자체가 빠져 나가는 것으로 나타 났지만 스크립팅 중에는 나쁜 습관이 아닙니다. 아프지 않습니다.
find이스케이프 처리하지 않은, "{}"여전히 같은 효과가 없을 것 {}--just 어느 쪽도 아닌 두 작업, 작동합니다. 그것 {}과 "{}"동일하게 행동하는 것은 발견의 특별한 특징으로 인한 것이 아니며 그렇게 할 수도 없습니다. 다른 프로그램에 의해 확장됩니다 것과 쉘에 의해 확장됩니다 무엇을 혼동하는 것입니다 나쁜 버릇. 우리 모두는 때때로 그 실수를 저 지르지 만, 여전히 모범 사례가 아닌 실수입니다. ( {}인간이 그것이 중괄호 확장의 패턴은 아니지만 단어 분리와 관련이 없음을 알도록 돕기 위해 인용 할 수도 있습니다 .)
{}in을 인용해야합니다-exec(그래서 읽습니다-exec rm "{}" \;). 이렇게하면 공백이 올바르게 처리됩니다 ... 그리고-delete대신 함수를 사용할 수 있습니다-exec.