
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
and 인수를 사용하면 find는 char 0 -print0
으로 -0
구분된 목록을 출력하고 xargs는 rm
목록의 각 요소에서 명령을 수행하므로 공백이 있는 경로는 문제가 되지 않습니다.