tìm kiếm văn bản không chính xác


10

Có tiện ích nào giống grephoặc thậm chí uniqnhưng đối với tìm kiếm không chính xác, hoặc tôi nên tự viết nó?

Tôi có nghĩa là nó sẽ xem xét 90% (số có thể thay đổi) phù hợp, hoặc một cái gì đó tương tự. Ví dụ: tôi có tệp có nhiều chuỗi:

abc123
abd123
abc223
qwe938

Trong trường hợp này, tiện ích như vậy sẽ trả về ba chuỗi đầu tiên hoặc nói rằng chúng tương tự nhau. Tất nhiên tôi không biết bất kỳ mẫu nội dung nào của tệp như trong trường hợp có grephoặc uniq.


Đây là bộ dữ liệu rất cụ thể. Chẳng hạn, Mary giống Marie, hay ABC giống BCD? Bạn có thể đưa ra một ví dụ thực tế về dữ liệu của bạn?
EightBitTony

Câu trả lời:


19

agrep hoặc tre-grep sẽ làm những gì bạn yêu cầu; chúng phù hợp với "gex" gần đúng / grep. Để biết thêm thông tin, cũng xem bài viết Wikipedia .

% tre-agrep --help | head             (05-23 16:53)
Usage: tre-agrep [OPTION]... PATTERN [FILE]...
Searches for approximate matches of PATTERN in each FILE or standard input.
Example: `tre-agrep -2 optimize foo.txt' outputs all lines in file `foo.txt'     that
match "optimize" within two errors.  E.g. lines which contain "optimise",
"optmise", and "opitmize" all match.

Regexp selection and interpretation:
  -e, --regexp=PATTERN      use PATTERN as a regular expression
  -i, --ignore-case         ignore case distinctions
  -k, --literal             PATTERN is a literal string


% agrep  | head                       (05-23 16:53)
usage: agrep [-@#abcdehiklnoprstvwxyBDGIMSV] [-f patternfile] [-H dir] pattern [files]

summary of frequently used options:
(For a more detailed listing see 'man agrep'.)
-#: find matches with at most # errors
-c: output the number of matched records
-d: define record delimiter
-h: do not output file names
-i: case-insensitive search, e.g., 'a' = 'A'
-l: output the names of files that contain a match
-n: output record prefixed by record number
-v: output those records that have no matches
-w: pattern has to match as a word, e.g., 'win' will not match 'wind'
-B: best match mode. find the closest matches to the pattern
-G: output the files that contain a match
-H 'dir': the cast-dictionary is located in directory 'dir'

Đó chính xác là thứ tôi đang tìm kiếm. Cảm ơn bạn.
vội vàng
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.