"output"이라는 이름의 모든 하위 디렉터리 내용을 어떻게 삭제합니까?

"output"이라는 이름의 모든 하위 디렉터리 내용을 어떻게 삭제합니까?

인터넷에서 프로젝트를 다운로드했습니다. 프로젝트를 빌드하면 다음 폴더에 출력 파일이 생성됩니다.산출문제는 같은 이름의 폴더가 많다는 것입니다. output모든 디렉터리의 파일을 수동으로 삭제해야 합니다 .

이 명령을 사용했습니다

find . -type d -name "output" -print

동일한 이름을 가진 모든 디렉토리의 위치를 ​​표시합니다.

그런 다음이 명령을 사용했습니다.

find . -type d -name "output" -delete

찾기: './output'을 삭제할 수 없습니다. 디렉터리가 비어 있지 않습니다.

폴더 를 삭제하고 싶지 않고 해당 폴더 이름 아래의 모든 파일을 output삭제하고 싶습니다 .output

답변1

and (적어도 GNU 또는 BSD) find가 있는 경우 :-mindepth-delete

find . -name output -type d -exec find {} -mindepth 1 -delete \;

답변2

find버전에 따라 다음 방법을 사용할 수 있습니다 .

GNU 발견:

find . -type f -path '*/output/*' -exec echo rm -f {} \;

POSIX 조회

find . -type d -name output -exec sh -c 'find "$1"/. ! -name . -prune -type f -exec rm -f \{\} \;' {} {} \;

관련 정보