![Mac 터미널을 사용하여 정규식과 일치하는 디렉터리의 파일을 삭제하세요.](https://linux55.com/image/161/Mac%20%ED%84%B0%EB%AF%B8%EB%84%90%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%A0%95%EA%B7%9C%EC%8B%9D%EA%B3%BC%20%EC%9D%BC%EC%B9%98%ED%95%98%EB%8A%94%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%9D%98%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%98%EC%84%B8%EC%9A%94..png)
Mac 터미널을 사용하여 특정 정규식 또는 유사한 솔루션과 일치하는 디렉터리의 파일을 어떻게 삭제할 수 있습니까?
답변1
find
명령을 사용하십시오 .
정규식과 일치하는 모든 파일 찾기(재귀적으로): find . -type f -regex '/ex/'
정규식과 일치하는 모든 파일을 (재귀적으로) 찾아 삭제합니다.find . -type f -regex '/ex/' -exec rm {} \;
대괄호는 발견된 경로 이름을 저장하고 백슬래시는 find로 전달될 때 세미콜론을 이스케이프합니다. 이에 대해 혼란스럽다면 "Bash 쉘 학습"의 처음 두 장을 읽어보세요.
더 많은 옵션을 보려면 매뉴얼 페이지를 확인하세요 find
. 검색하는 방법은 더 다양합니다.
답변2
Jorelli의 답변과 매우 유사합니다. 이것이 내가 사용하는 것입니다:
find . -regex '/ex/' -print0 | xargs -0 rm
-print0
인수 -0
로 인해 find는 char 0으로 구분된 목록을 출력하고 xargs는 rm
목록의 각 요소에서 명령을 실행하므로 공백이 있는 경로는 문제가 되지 않습니다.