Mac 터미널을 사용하여 정규 표현식과 일치하는 디렉터리의 파일 삭제

Mac 터미널을 사용하여 정규 표현식과 일치하는 디렉터리의 파일 삭제

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목록의 각 요소에서 명령을 수행하므로 공백이 있는 경로는 문제가 되지 않습니다.

관련 정보