최상위 수준 아래의 많은 수의 디렉터리 삭제

최상위 수준 아래의 많은 수의 디렉터리 삭제

동일한 구조를 가진 여러 다른 디렉토리로 가득 찬 디렉토리가 있으므로 다음과 같습니다.

top/A/Output/platform/..
top/B/Output/platform/..
top/C/Output/platform/..

등. 레벨에서 시작 top하여 해당 디렉토리 아래의 모든 디렉토리를 삭제하고 싶습니다 platform.

top/A/Output
top/B/Output
top/C/Output

누군가 나에게 명령을 추천해 줄 수 있나요? 저는 rhel7, bash 4.1.2를 사용하고 있습니다.

편집하다:

나는 한 글자보다 더 복잡한 이름을 가진 "보조" 디렉토리를 많이 가지고 있습니다. 죄송합니다. 더 명확하게 지적했어야 했습니다.

답변1

rm -rf top/?/Output/platform

또는 두 번째 수준 디렉터리가 한 문자보다 긴 경우(예제에서는 A, B 또는 C):

rm -rf top/*/Output/platform

답변2

man find정규식 패턴과 같은 추가 옵션을 확인하세요 .

find top -type d -name platform -print0 | xargs -0 rm -rf

답변3

다음 방법으로 찾을 수 있습니다.

find top -path 'top/*/Output/platform' -delete

이렇게 하면 점으로 시작하는 파일과 디렉터리가 삭제됩니다.

다음 명령은 별표를 바꿀 때 쉘이 이를 건너뛰기 때문에 점으로 시작하는 파일과 디렉토리를 삭제하지 않습니다.

rm top/*/Output/platform

관련 정보