이 코드를 사용하여 텍스트에서 중지 단어를 제거하고 있습니다.
나는 다음을 가지고있다
$ cat file
file
types
extensions
$ cat stopwords
i
file
types
grep -vwFf stopwords file
결과가 기대됩니다.
extensions
하지만 나는 (나는 틀렸다고 생각한다)
file
extensions
file
스톱 워드 파일에서 단어 를 건너 뛴 것처럼 보입니다. 이제 여기에 시원한 비트가있다 : 나는 한 단어 / 문자 변경함으로써 불용어 파일을 수정하면 i
떨어져에서 다른 아스키 문자로, 첫 번째 줄에를 f
, i
, l
, e
, 다음 같은 grep 명령은 나에게 다른 및 올바른 결과를 제공합니다 extensions
.
여기서 무슨 일이 일어나고 있으며 어떻게 해결합니까?
Mac OSX GNU bash 버전 4.4.12 (1)에서 grep (BSD grep) 2.5.1-FreeBSD를 사용하고 있습니다.
i
패턴을 stopwords
파일 의 첫 번째 패턴이 아닌 두 번째로 설정 하면 동작이 변경됩니다.
grep
또는 GNU grep
3.1을 사용하여 OpenBSD 6.2의 동작을 재현 할 수 없습니다 .
-x
대신 라인 정규식에 스위치 를 사용할 수-w
있습니까? 그러나-F
스위치가 둘 중 하나를 취소하거나 그 반대로 취소 한다고 생각합니다 .