동일한 구조를 가진 여러 다른 디렉토리로 가득 찬 디렉토리가 있으므로 다음과 같습니다.
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