bash를 사용하여 디렉토리의 모든 폴더를 삭제하는 방법은 무엇입니까?

bash를 사용하여 디렉토리의 모든 폴더를 삭제하는 방법은 무엇입니까?

기본적으로 모든 하위 폴더를 삭제하고 모든 파일은 그대로 유지하고 싶습니다. 예를 들어:

Folder1/
    randomStuff/
         nope.txt
    installer.jar
    build.sh

RandomStuff와 해당 파일을 삭제하고 installer.jar 및 build.sh는 그대로 유지하고 싶습니다.

답변1

슬래시로 끝나는 파일 이름은 항상 일반 파일이 아닌 디렉터리를 참조한다는 사실을 활용하세요.

주문하다

rm -r -- ./*/

당신이 설명하는 것을 성취할 것입니다.

답변2

이 시도:

find Folder1/* -type d -exec rm -rf {} +

그러면 디렉터리에서 폴더를 검색하고 rm -rf발견된 각 폴더에 대해 명령을 실행합니다.

답변3

동일한 목적을 달성하기 위해 awk 명령을 사용합니다.


ls -ltr | awk '$1 ~ "^dr"{print "rm -rvf" " " $9}’ | sh

관련 정보