오류 없이 하위 디렉터리를 찾고 삭제하시겠습니까?

오류 없이 하위 디렉터리를 찾고 삭제하시겠습니까?

하위 디렉터리가 존재하지 않는 경우 오류 없이 특정 디렉터리에서 하위 디렉터리를 제거하는 방법을 찾아야 합니다. 이 명령은 하위 디렉터리가 있으면 성공적으로 삭제합니다.

find /path/to/dir/* -maxdepth 1 -type d -exec rm -rf {} \;

하지만 존재하지 않으면 다음 오류가 발생합니다.

찾기: /path/to/dir/*: 해당 파일이나 디렉터리가 없습니다.

그리고 처리 할 디렉터리가 너무 많고 개별적으로 처리해야 하기 때문에 findsimple 대신 사용하고 있습니다 .rmrmfind

find /path/to/dir/ -maxdepth 1 -type d -exec rm -rf {} \;또한 와일드카드가 실제로 제거되지 않는 것으로 나타났습니다.목차디렉토리에도 마찬가지입니다.

답변1

-mindepthfind의 매개변수를 사용하여 .대상 디렉토리에서 일치하는 것을 방지할 수 있습니다. 이렇게 하면 문제가 해결될 것입니다.

find /path/to/dir/ -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} +

관련 정보