이름의 일부로 서로 다른 위치에 둘 이상의 '-'가 포함된 폴더 세트 삭제

이름의 일부로 서로 다른 위치에 둘 이상의 '-'가 포함된 폴더 세트 삭제

-이름에 두 개 이상의 폴더가 있는 여러 폴더를 삭제하려면 어떻게 해야 합니까 ?

예를 들어:

e97bf913-5759-4fff-bdaf-2f931b53a432/
39f953c5-dab0-420e-a650-a50a30f48097/

답변1

패턴

*-*-*/

두 개 이상의 하이픈이 있는 디렉토리와 일치합니다. 는 *모든 문자열(0개 이상의 문자)과 일치합니다.

예에서와 같이 하이픈으로 시작하고 끝나서는 안되는 디렉터리 이름만 일치시키려면 다음을 사용할 수 있습니다.

[!-]*-*-*[!-]/

대신에. 는 하이픈 [!-]( )이 아닌 모든 문자와 일치합니다 .!

달리다

ls -d [!-]*-*-*[!-]/

먼저 삭제하려는 항목이 있는지 확인하세요. 그런 다음 실행

rm -r [!-]*-*-*[!-]/

재귀적으로 삭제합니다. 강제로 삭제해야 하는 경우 -f명령에 추가하세요.

답변2

rm -r *-*-*-*-*

경고: 이 구성표와 일치하는 모든 파일이 제거됩니다. 따라서 다음과 같은 파일이 있습니다.

system-file-separated-by-minus 

삭제도 됩니다.

'*' 부분은 다음 주어진 문자까지의 모든 문자(0개, 1개 또는 여러 문자)를 나타내며 이 경우 마이너스로 구분됩니다. 파일 앞에 - 앞에 8자가 있고 다음 앞에 4자가 있다는 것을 알고 있다면 다음과 같이 말할 수 있습니다.

rm -r ????????-????-????-????-????????????

모든 ? 모든 문자를 나타냅니다. 이렇게 하면 구성표와 일치하는 모든 파일이 제거됩니다. 하지만 원하지 않는 동일한 구성표를 가진 파일도 삭제되므로 이를 먼저 확인하십시오.

답변3

상위 디렉토리에서 이 명령을 실행하기만 하면 됩니다.

rm -r *-*-*/

관련 정보