hatalı metin araması


10

Yanlış arama gibi grepveya hatta herhangi bir yardımcı program var mı uniq, yoksa kendim yazmalıyım?

Yani% 90 (sayı değişebilir) eşleşmeye veya bunun gibi bir şeye bakacak. Örneğin ben birkaç dizeleri ile dosya var:

abc123
abd123
abc223
qwe938

Bu durumda, bu yardımcı program ilk üç dizeyi döndürmeli veya benzer olduklarını söylemelidir. Tabii ki grepveya durumunda olduğu gibi herhangi bir dosya içeriği kalıbı bilmiyorum uniq.


Bu çok veri setine özgüdür. Örneğin, Mary Marie gibi mi, ABC de BCD gibi mi? Verilerinize gerçek bir dünya örneği verebilir misiniz?
SekizBitTony

Yanıtlar:


19

agrep veya tre-grep istediğini yapacak; "yaklaşık" normal ifade eşleşmesi / grep'tir. Daha fazla bilgi için Wikipedia makalesine de bakın .

% 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'

Aradığım şey tam olarak bu. Teşekkür ederim.
acele
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.