Tôi đang xóa các từ dừng khỏi một văn bản, đại khái là sử dụng mã này
Tôi có những điều sau đây
$ cat file
file
types
extensions
$ cat stopwords
i
file
types
grep -vwFf stopwords file
Tôi đang mong đợi kết quả:
extensions
nhưng tôi nhận được (tôi nghĩ không chính xác)
file
extensions
Như thể từ file
đã bị bỏ qua trong tập tin mật khẩu. Bây giờ đây là chút mát: nếu tôi sửa đổi các tập tin từ dừng, bằng cách thay đổi từ đơn / thư i
trên dòng đầu tiên, đối với bất kỳ chữ cái ascii khác ngoài f
, i
, l
, e
, sau đó lệnh cùng grep mang lại cho tôi một kết quả khác nhau và đúng extensions
.
Điều gì đang xảy ra ở đây và làm thế nào để tôi sửa chữa nó?
Tôi đang sử dụng grep (BSD grep) 2.5.1-FreeBSD trên bash Mac OSX GNU, phiên bản 4.4.12 (1)
i
mẫu thứ hai thay vì mẫu thứ nhất trong stopwords
tệp cũng làm thay đổi hành vi.
grep
cũng như với GNU grep
3.1.
-x
chuyển đổi cho regex dòng thay vì-w
cho từ? Tuy nhiên, tôi nghĩ rằng công-F
tắc sẽ hủy bỏ một trong hai hoặc ngược lại.