글을 쓰게 된 이유
https://www.contribution.ac/
2022 오픈소스 컨트리뷰션 아카데미의 ‘파이토치 튜토리얼 번역’ 팀에서 활동하였습니다. 문서를 번역하거나, 기존에 번역된 문서들에 있는 오타를 찾기 위해 Hunspell을 사용해보니 편리한 점이 많았습니다. 그래서 OS별로 설치 및 사용법을 간단하게 정리해보았습니다.
Hunspell 소개
Hunspell 은 Libre Office, Mozilla firefox, Google Chrome등에서 사용되는 맞춤법 검사기입니다.
자세한 내용은 http://hunspell.github.io/ Hunspell 소개 페이지와 GitHub - spellcheck-ko/hunspell-dict-ko: Korean spellchecking dictionary for Hunspell Hunspell 한국어 사전 레포지토리를 참고해주세요.
Windows용
방법 1) windows에서 wsl 설치하여 hunspell 사용(권장)
powershell terminal open
wsl --install
wsl 설치 후 PC를 다시 시작하면 wsl ubuntu를 자동으로 설치 하단 Linux 설치 방법 참고 hunspell 설치
방법 2) sigil을 활용한 hunspell 사용
-
sigil 다운로드 Download Sigil - Sigil-Ebook 참고
-
sigil만 설치시 영문만 적용되어있는데 한국어도 적용하기 위한 ko-aff-dic-0.7.92.zip 다운로드
Releases · spellcheck-ko/hunspell-dict-ko · GitHub 참고 3. sigil에 한국어도 등록하기 위해 (ex → C:\Program Files\Sigil\hunspell_dictionaries) 폴더에 다운받았던 모음집 추가하기 4. sigil 실행시 편집 → 기본설정 → 맞춤법 검사 사전에 / 기본 언어 사전 : 한국어 , 2차 언어사전 영어-미국 으로 변경
- txt xhtml을 지원하므로 변환 후 사용!
Linux용(Ubuntu, WSL)
How to install hunspell ubuntu package on Ubuntu 20.04/Ubuntu 18.04/Ubuntu 19.04/Ubuntu 16.04 참고
sudo apt-get update -y
sudo apt-get install -y hunspell
Mac용
Homebrew 설치
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Hunspell 설치
brew 업데이트 및 업그레이드
brew update
brew upgrade
hunspell 설치
brew install hunspell
한국어 사전 파일 추가
위 링크에서 ko-aff-dic 파일 받은 후 압축 해제
압축 해제 후 나온 .aff 파일과 .dic 파일의 이름을 ko_KR로 변경
ko_KR.aff, ko_KR.dic 파일을 홈/Library/Spelling 폴더로 이동
추가 팁: Library 폴더가 안보이는 경우 Shift + command + . 키를 눌러 숨김 폴더를 보이게 하면 나옵니다.
설치 확인
hunspell -v
hunspell의 버전이 표시되면 설치 완료.
Hunspell 사용법
모든 명령어 보기
hunspell -h
사용 방법
- 기본 사용법
hunspell -l "검사할 파일"
해당 파일속 오타를 출력한다.
- 정렬, 중복 제거, 저장
hunspell -l "검사할 파일" | sort | uniq > typos.txt
sort : 알파벳 순으로 정렬
uniq : 해당하는 오타를 한 번만 출력
“> 저장 파일명": 해당 이름으로 저장
- 예시
해당 폴더 속 .py 확장자를 가진 모든 파일을 검사, 정렬, 중복 제거, typos.txt 파일로 저장
추가 명령어
grep
리눅스에서 특정 파일 속 문자열을 찾는 명령어
# 특정 문자열 찾기
grep '찾을문자' 파일명
# 여러 파일에서 특정 문자열 찾기
grep '찾을문자' 파일명1 파일명2
응용 사용
# 특정 파일에서 문자열이 포함된 행을 찾기
grep '^[ab]' 파일명
# 특정 파일에서 a로 시작하는 모든 단어 찾기
grep 'a*' 파일명
# 특정 파일에서 a로 시작하고 z로 끝나는 5자리 단어 찾기
grep 'a...z' 파일명
# 특정 파일에서 a, b, c로 시작하는 모두 찾기
grep [a-c] 파일명
# 특정 파일에서 apple 또는 Apple로 시작하는 단어 모두 찾기
grep [aA]pple 파일명
# 특정 파일에서 a나 b로 시작되는 모든 행을 찾기
grep '^[ab]' 파일명
# 특정 파일에서 여러개 문자열 찾기
cat 파일명 | grep 'Apple' | grep 'Banana'
옵션
-c : 일치하는 행의 수를 출력한다.
-i : 대소문자를 구별하지 않는다.
-v : 일치하지 않는 행만 출력한다.
-n : 포함된 행의 번호를 함께 출력한다.
-l : 패턴이 포함된 파일의 이름을 출력한다.
-w : 단어와 일치하는 행만 출력한다.
-x : 라인과 일치하는 행만 출력한다.
-r : 하위 디렉토리를 포함한 모든 파일에서 검색한다.
-m 숫자 : 최대로 표시될 수 있는 결과를 제한한다.
-E : 찾을 패턴을 정규 표현식으로 찾는다.
-F : 찾을 패턴을 문자열로 찾는다.
hunspell 과 동시 사용 예시
grep '#*' ./*.py > test.txt ; hunspell -l test.txt > typos.txt