!["ls" 명령을 사용하여 빈 디렉터리 삭제](https://linux55.com/image/55791/%22ls%22%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%B9%88%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%20%EC%82%AD%EC%A0%9C.png)
find
command 을 사용하지 않고 빈 디렉토리를 삭제하고 싶습니다 find . -empty -type d -delete
. 이와 같이:
if [ "$(ls -d *)" ]; then
echo "Not Empty"
else
echo "Delete"
fi
만 사용하여 빈 디렉토리를 어떻게 삭제할 수 있습니까 ls
?
답변1
rmdir
빈 폴더는 삭제되고(다른 폴더는 남아 있음) 다음과 같은 방법을 사용할 수 있습니다.
rmdir */
또는 bash 4+를 사용하고 있고 재귀를 원하는 경우(다른 쉘에는 동일한 이름이 있습니다):
shopt -s globstar
rmdir **/
그러나 이렇게 하면 많은 오류 메시지가 표시됩니다(비어 있지 않은 폴더마다 하나씩).