2012-09-17 3 views
8

대문자 단어 파일이 많아 영어 단어가 잘못 입력되었거나 영어 철자가 잘못되었습니다. Linux에서 명령 줄 맞춤법 검사기를 사용하여이 파일을 편집하는 방법을 찾고 있습니다. 나는 이것을하기위한 몇 가지 방법을 찾았지만, 나의 검색에 따르면 그들 모두는 상호 작용 방식으로 작업한다. 내 말은, 맞춤법이 틀린 단어를 보면서 사용자에게 약간의 수정을 제안하고 그 중 하나를 선택해야합니다. 내 파일이 크기가 크고 잘못된 단어가 많기 때문에이 방법으로 편집 할 수 없습니다. 나는 첫 번째 후보자를 사용하여 잘못된 단어를 모두 대체하는 철자 검사기를 찾는 방법을 찾고 있습니다. 이렇게 할 방법이 있습니까? (a/hun)은 그렇게 할 수있는 옵션이 있습니까?비대화 형 명령 줄을 사용하여 파일의 맞춤법 검사

감사합니다. 당신이 모든 잘못된 단어를 대체하기 위해 필요하지만, 단순히 비 대화 형 방식으로 오류 및 인쇄 제안을 지적하지 않으면

+0

GNU 이맥스 한 번에 모든 오자가 잘못 표시되었습니다. –

+0

그래서 이맥스에서 파일을 열어야합니까? – Hakim

+0

예, 단 한 번입니다. –

답변

5

, 당신은 ispell로 사용할 수 있습니다

$ ispell -a < file.txt | grep ^\& > errors.txt 

내가하지 불행하게도 해요 명령 행에서 요구하는 것을 수행하는 표준 Linux 유틸리티를 알고 있지만 위의 주석에서 emacs 제안은 거의 다뤄집니다.

5

당신은 다음과 같은 명령을 실험 할 수 있습니다

yes 0 | script -c 'ispell text.txt' /dev/null 

나 :

yes 1 | script -c 'aspell check text.txt' /dev/null 

그러나 결과도 간단한 일을 위해 가난한 될 수 있음을 염두에 두어야 :

$ echo The quik broown fox jmps over the laazy dogg > text.txt 
$ yes 0 | script -c 'ispell text.txt' /dev/null 
Script started, file is /dev/null 
Script done, file is /dev/null 
$ cat text.txt 
The quick brown fox amps over the lazy dog 

그것은 aspell로 더욱 악화 된 것처럼 보이기 때문에 아마도 ispell을 사용하는 것이 낫습니다.

ispell과 같은 일부 명령은 스크립트 작성을 원하지 않기 때문에 script 명령이 필요합니다. 일반적으로 당신은 명령에 yes 0의 출력이 "0"키를 모든 시간을 타격 시뮬레이션 할 수 있지만, 일부 명령은 스크립트 된 검색 및 거부 파이프 협력 할 것입니다 : 다행히도 그들은 script 명령으로 바보짓을 할 수

$ yes 0 | ispell text.txt 
Can't deal with non-interactive use yet. 

를 :

$ yes 0 | script -c 'ispell text.txt' /dev/null 
Script started, file is /dev/null 
Script done, file is /dev/null 

당신은 출력을 기록을/dev/null 이외의 파일을 사용할 수 있습니다 :

$ yes 0 | script -c 'ispell text.txt' out.txt 
Script started, file is out.txt 
Script done, file is out.txt 
$ cat out.txt 
Script started on Tue 02 Feb 2016 09:58:09 PM CET 

Script done on Tue 02 Feb 2016 09:58:09 PM CET 
모드를 확인하는 것은 당신이 REPLAC 수 있기 때문에 법안을 맞는 것 같다 주문