Mac 터미널에서 특수, 공백 문자 포함된 파일명 사용하기
특수 문자(예: 공백 ‘ ” / # 등등)가 포함된 파일명을 터미널에서 사용하려면 이스케이프 처리해 줘야 합니다. 이스케이프 처리는 특수 문자 앞에 \ 를 붙이거나 “(따옴표), ‘(작은 따옴표) 등으로 묶는 방법이 있는데, 파일 및 경로 관련 명령에서는 ” 또는 ‘ 로 묶는 방법이 보기 쉽고 편리합니다. 예를 들어 ‘(따옴표) 이름의 파일을 터미널에서 삭제하려면,
1 |
rm -f "'" |
‘(작은 따옴표)를 따옴표(“)로 묶고 rm 명령을 실행합니다. 만약 다른 파일명으로 변경하고자 한다면
1 |
mv "'" 1.c |
이 역시 ‘(작은 따옴표)를 양쪽에 “(따옴표)로 묶고 mv 명령어로 파일 이름을 변경합니다. 그리고 ‘(작은 따옴표)와 함께 공백 문자가 포함된 파일을 삭제하고자 한다면
1 |
ls -la |
명령 실행후, 마우스 드래그로 해당 파일을 선택합니다. 공백이 없으면 ‘(작은 따옴표)만 선택되지만 공백이 있으면 드래그할 때 블락 모드로 선택되는데(아래 첨부 이미지 참고), 이렇게 선택된 블락을 그대로 복사( Command + C)하고, 이를 rm 명령과 함께 따옴표(“)안에 붙이기( Command + V)하면 해당 파일 삭제할 수 있습니다.
1 |
예) rm -f "' " |
만약 특수 및 공백 문자가 혼합된 파일명 지정이 잘 안된다면, Find 명령으로 특정 문자를 포함한 파일을 찾아 일괄 삭제하는 방법도 있습니다. 예를 들어 ‘(작은 따옴표)를 포함한 모든 파일을 한번에 삭제하고자 한다면 다음 명령을 실행합니다.
1 |
find ~/ -name "*'*" -print0 | xargs -0 rm |
이 예제 명령은 사용자 계정 폴더 및 이하 모든 서브 폴더에서 ‘(작은 따옴표)가 포함된 모든 파일을 검색 후 삭제합니다.