대부분의 텍스트 편집기에는 작성한 글의 맞춤법을 검사해 주는 기능이 기본으로 포함되어 있습니다. 그런데 리눅스에도 터미널에서 바로 사용할 수 있는 전용 명령줄 맞춤법 검사 도구가 있다는 사실을 알고 계셨나요?
그 도구의 이름은 aspell이며, 우분투(Ubuntu)에는 기본적으로 설치되어 있습니다. 이 도구는 다양한 옵션과 스위치를 제공하므로, 터미널 환경에서도 강력한 맞춤법 검사를 손쉽게 수행할 수 있습니다. 지금부터 aspell을 활용해 터미널에서 맞춤법을 검사하는 방법을 살펴보겠습니다.
aspell 소개
일부러 단어 몇 개의 철자가 틀리게 작성된 "README.md" 파일로 실습을 진행해 보겠습니다.
다음 명령어로 이 파일을 맞춤법 검사기에 통과시켜 보겠습니다. 여기서 -c 스위치는 검사할 파일을 지정하는 역할을 합니다.
aspell -c README.md
명령을 실행하면 아래와 같은 대화형(interactive) 창이 나타납니다. 상단 패에는 파일의 내용이 표시되며, aspell은 이미 파일에서 잘못된 철자를 모두 찾아낸 상태입니다. 이제 오류가 있는 단어가 하나씩 제시되고, 각 단어마다 수정 제안이 함께 표시됩니다. 사용자는 제안된 올바른 철자를 선택하면 됩니다. 예제에서 "Attempyting"이 첫 번째 철자 오류입니다. 하단 패에는 해당 오류 단어를 대체할 수 있는 추천 단어 목록이 나타나며, 원하는 단어 옆의 숫자를 입력하면 맞춤법 검사기가 자동으로 교체를 수행합니다.
숫자 "1"을 입력하면 aspell은 다음 오류 단어로 넘어가고, 마찬가지로 수정 제안을 화면에 보여줍니다.
이런 방식으로 필요한 모든 수정을 완료할 수 있습니다. 파일에 대한 모든 변경이 끝나면 대화형 맞춤법 검사기는 자동으로 종료됩니다. 이때 원래의 오류 내용을 담고 있는 백업 파일이 ".bak" 확장자로 생성됩니다. 즉, 수정된 파일은 "README.md"이고, 철자 오류가 그대로 남아 있는 파일은 "README.md.bak"입니다.
aspell의 설정 파일은 "/etc/aspell.conf"에 위치합니다. 다음 명령어로 설정 내용을 확인할 수 있습니다:
aspell dump config
여기에는 현재 사용 중인 사전 정보, 대조를 위해 참조하는 단어 목록(word list)의 위치 등 유용한 설정 정보가 담겨 있습니다.
다른 사전 사용하기
이번에는 "country.txt"라는 파일을 예로 들어 보겠습니다. 이 파일에는 "recognize"라는 단어의 두 가지 철자가 함께 들어 있습니다. "s"로 끝나는 "recognise"는 영국식 영어 표기이고, "z"가 들어간 "recognize"는 미국식 영어 표기입니다.
인도 영어 사전은 영국 영어 사전과 거의 유사합니다. 만약 이 파일을 미국식 영어 사전을 기준으로 검사하고 싶다면 어떻게 해야 할까요?
다음 명령어를 실행하면 시스템에서 사용 가능한 사전들의 긴 목록을 확인할 수 있습니다.
aspell dump dicts
-d 스위치를 사용하면 맞춤법 검사에 사용할 사전을 직접 지정할 수 있습니다. 아래와 같이 미국식 영어 사전(en_US)을 지정해 보겠습니다.
aspell -d en_US -c "country.txt"
이렇게 하면 "s"가 들어간 "recognise"의 첫 번째 항목이 오류로 감지되고, "s"를 "z"로 바꾸라는 수정 제안이 표시됩니다.
해당 수정을 적용하면, 이번에는 파일의 세 번째 줄에 있는 단어가 오류로 식별됩니다. 이 역시 같은 방식으로 수정할 수 있습니다.
악센트 문자 처리하기
일부 언어는 아래 "accents-example.txt" 파일처럼 악센트(accent)가 붙은 문자를 사용합니다.
기본 사전으로 이 파일을 검사하면 악센트 문자가 오류로 판정됩니다.
aspell -c accents-example.txt
이때 제시되는 수정 제안들은 악센트 문자를 일반 문자로 바꾸는 것들입니다. 대신 악센트 문자를 지원하는 사전을 사용하면 이런 파일도 문제없이 처리할 수 있습니다.
aspell -d en-w_accents -c accents-example.txt
지정한 사전은 악센트 문자를 정상적으로 인식하므로, "accents-example.txt" 파일은 맞춤법 검사를 무사히 통과하게 됩니다.
그 외 유용한 옵션들
aspell은 미리 정의된 스위치를 통해 HTML/XML 파일이나 Tex/LaTex 파일도 검사할 수 있습니다. 또한 하이픈(-)이 포함된 복합어를 처리하거나, 대소문자 차이를 무시하도록 설정하는 것도 가능합니다.
aspell에서 사용할 수 있는 전체 옵션과 스위치 목록은 man 페이지와 Texinfo 매뉴얼에서 확인할 수 있으니, 더 깊이 활용하고 싶다면 꼭 참고해 보시기 바랍니다.