การค้นหาข้อความที่ไม่ถูกต้อง


10

มีประโยชน์เช่นgrepหรือแม้กระทั่งuniqสำหรับการค้นหาที่ไม่แน่นอนหรือฉันควรเขียนเอง?

ฉันหมายถึงมันจะดูการจับคู่ 90% (ตัวเลขอาจเปลี่ยนแปลง) หรืออะไรทำนองนั้น ตัวอย่างเช่นฉันมีไฟล์ที่มีหลายสตริง:

abc123
abd123
abc223
qwe938

ในกรณีนี้ยูทิลิตี้ดังกล่าวควรส่งคืนสามสตริงแรกหรือบอกว่าคล้ายกัน แน่นอนผมไม่ทราบว่ารูปแบบใด ๆ ของเนื้อหาของไฟล์เช่นในกรณีที่มีหรือgrepuniq


นี่เป็นชุดข้อมูลที่เฉพาะเจาะจงมาก ตัวอย่างเช่น Mary เป็น Marie หรือ ABC เป็น BCD หรือไม่ คุณสามารถยกตัวอย่างข้อมูลจริงของโลกได้หรือไม่?
EightBitTony

คำตอบ:


19

agrepหรือtrep grep จะทำสิ่งที่คุณต้องการ พวกเขากำลังจับคู่ / grep regex "โดยประมาณ" สำหรับข้อมูลเพิ่มเติมโปรดดูบทความวิกิพีเดีย

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

นั่นคือสิ่งที่ฉันกำลังมองหา ขอบคุณ.
เร่ง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.