디렉토리의 내용만 삭제하려면 어떻게 해야 합니까?

디렉토리의 내용만 삭제하려면 어떻게 해야 합니까?

나는 다음 폴더에 있습니다: /var/myfolder.

/var/myfolder/A/ /var/myfolder/B/ `/var/myfolder/C/내부에는 다음과 같은 다른 폴더가 있습니다.

각 파일 안에는 임의의 이름을 가진 파일이 있습니다. 내부의 모든 폴더에 있는 모든 파일을 삭제하는 방법은 무엇입니까 /var/myfolder?

구조(A, B, C 등과 같은 내부의 모든 디렉터리 /var/myfolder)는 변경되지 않은 상태로 유지되어야 합니다.

답변1

노력하다:

find /var/myfolder -type f -delete

이렇게 하면 /var/myfolder 아래의 모든 일반 파일을 가져와서 삭제하고 디렉터리만 남깁니다.

답변2

zsh의 경우 다음을 사용하십시오.. 글로벌 예선일반 파일만 일치합니다.

rm -- **/*(.)

그러면 현재 디렉터리와 하위 디렉터리에 있는 모든(숨겨지지 않은) 일반 파일이 반복적으로 삭제됩니다. Dglob 한정자를 추가하면 숨겨진 일반 파일(및 숨겨진 디렉터리의 일반 파일)도 제거됩니다.

답변3

넌 뛰어들 수 rm */*있어/var/myfolder

답변4

rm var/myfolder/*/*

하위 폴더 자체를 건드리지 않고도 하위 폴더 내의 모든 콘텐츠가 삭제됩니다.

첫 번째 *는 자체 하위 디렉터리 myfolder( A, B, ...)입니다. 두 번째는 등 *의 파일 에 대한 것입니다.AB

A내부 에 더 많은 폴더가 있는 경우 B등 먼저 실행: rm /var/myfolder/*/*/*그런 다음 rm /var/myfolder/*/*.

관련 정보