아래와 같이 여러 위치에서 7일보다 오래된 파일을 정리해야 하는 상황이 발생했습니다.
/home/user1/Out/vendor
/home/user2/Out/vendor
/home/user3/Out/vendor
/home/user4/Out/vendor
︙
/home/usern/Out/vendor
폴더를 삭제하지 않고 이 작업을 수행하는 방법을 알려주실 수 있나요? 텍스트 파일에서 사용자에게 전화를 걸고 싶습니다.
답변1
에 설명된 기술다음보다 오래된 삭제엑스 일+ 당신을 위해 일할 것입니다 :
find /path/to/directory/ -mtime +7 -delete
그러나 귀하의 질문 중 여러 부분이 누락되었습니다.
...여러 위치에서...
단일 명령에 대해 여러 시작점을 지정할 수 있습니다
find
. 하다/home/user1/Out/vendor /home/user2/Out/vendor /home/user3/Out/vendor /home/user4/Out/vendor … /home/user 찾기N/Out/vendor -mtime +7 -삭제
또는/home/user1/Out/provider/home/user2/Out/provider/home/user3/Out/provider \ 찾기 /home/user4/Out/vendor … /홈/사용자N/Out/vendor -mtime +7 -삭제
가독성을 위해.하지만 이와 같이 모든 디렉터리를 명시적으로 나열할 필요는 없습니다. 당신이라면 어떨까요?문자 그대로처리 중
user1
,user2
, ..., , (여기서usern
n
는 숫자입니다), 할 수 있습니다/home/user{1,2,3,4,..., 찾기N}/Out/vendor -mtime +7 -삭제
심지어/홈/사용자{1 찾기..N}/Out/vendor -mtime +7 -삭제
(말 그대로 두 개의 점을 사용하여 (.
), bash에서는 마침표 또는 마침표라고도 함).하지만 아마도 사용자가 가지고 있는
user1
,user2
, ..., ;usern
이름. 그러나 동일한 원칙이 적용됩니다./home/{user1,user2,user3,user4,…,user 찾기N}/Out/vendor -mtime +7 -삭제
예를 들어,/home/{alice,bob,cathy,david,…,nathan}/Out/vendor -mtime +7 -delete 찾기
심지어~{alice,bob,cathy,david,…,nathan}/Out/vendor -mtime +7 -delete 찾기
...폴더를 삭제하지 않고 어떻게 이를 달성할 수 있나요?
-type f
다음 명령에 추가하면 됩니다 ./home/{user1,user2,user3,user4,…,user 찾기N}/아웃/공급업체-f 유형-mtime +7 -삭제