철자별로 문서 필터링

철자별로 문서 필터링

깨끗한 txt 문서를 가져와야 하는데 첫 번째 방법은 aspell을 사용하는 것입니다. 문제는 일괄적으로 사용해야 하는데 대화형 모드가 없다는 것입니다. 각 txt 파일은 aspell로 파이프되며 사전에 없는 단어가 제거된 새 문서가 반환되어야 합니다.

반대 동작을 발견했습니다. 사전이 아닌 단어를 나열하는 것입니다.

cat $file | aspell list | sort -u -f 

Aspell은 폴더 정리에 적합한 도구인가요? 철자가 틀린 단어를 자동으로 바꾸는 것은 어떻습니까? (미리 정의된 목록 파일 사용)

답변1

sed -E -e "s/$(aspell list <file | sort -u | paste -s -d'|' |
               sed -e 's/^/\\b(/; s/$/)\\b/' )//g" \
    file > newfile

이는 다음을 사용합니다.명령 대체 $(...)의 출력을 검색 및 바꾸기 작업에 삽입합니다 aspell list <$file.sed

aspell의 출력도 고유하게 정렬되어 paste각 줄을 와 결합하는 데 사용됩니다 |. 마지막으로 sed를 통해 파이프되어 \b단어 경계 앵커와 여는 괄호 및 닫는 괄호를 추가합니다. 이 모든 것은 예를 들어 \b(word1|word2|word3|...)\b검색 및 바꾸기 명령에서 검색 정규식 으로 사용되는 유효한 확장 정규식을 구성합니다 .sed

다음을 사용하여 전체 명령의 결과를 테스트할 수 있습니다.diff -u file newfile

AFAIK, aspell자동 수정 모드가 없습니다. 이것은 아마도 좋은 일일 것입니다.

관련 정보