실수로 생성된 폴더가 있습니다. 이 폴더를 제거하고 싶습니다.
¬ 636
¬ 636.empty
¬ 637
¬ 638.empty
¬ 639
¬ 639.empty
636.empty
이 상황에서는 비어 있지 않은 폴더를 제거하고 남겨두고 싶습니다 .
sister
터미널 명령을 실행한 후 폴더를 제거하려는 모든 폴더를 원합니다 .
¬ 636
¬ 637
¬ 638.empty
¬ 639
제거된 폴더는 다음과 같습니다.
¬ 636.empty
¬ 639.empty
25,000
일부 폴더가 있습니다 . 아마도 1000
이 중 empty
폴더 와 중복되었을 수 있습니다.
답변1
이름이 지정된 모든 디렉터리를 반복 *empty
하고 동일한 디렉터리가 없는지 확인 .empty
하고 true인 경우 삭제합니다.
for d in *.empty; do
[ -d "$d" ] && [ -d "${d%.empty}" ] && rmdir "$d"
done
이름에도 불구하고 디렉토리가 비어 있지 않으면 다음 rmdir
으로 바꾸십시오 ;-)rm -rf
대안 find
:
find -maxdepth 1 -type d -name '*.empty' \
-exec sh -c '[ -d "${1%.empty}" ]' find-sh {} \; \
-delete
디렉토리가 비어 있지 않으면 -delete
다음으로 바꾸십시오 .-exec rm -rf {} \;