부정확한 검색 외에 grep
이와 유사하거나 심지어 유틸리티가 있습니까? 아니면 직접 작성해야 합니까?uniq
내 말은 90%(숫자는 다를 수 있음) 일치 또는 이와 유사한 것으로 보인다는 것입니다. 예를 들어, 여러 문자열이 포함된 파일이 있습니다.
abc123
abd123
abc223
qwe938
이 경우 해당 유틸리티는 처음 세 개의 문자열을 반환하거나 유사하다고 말해야 합니다. 물론, grep
또는 를 사용하는 경우 와 같은 파일 내용의 패턴을 알지 못합니다 uniq
.
답변1
꽉 붙잡음또는 tre-grep은 사용자가 요청한 대로 수행합니다. 이는 "대략적인" 정규식 일치/grep입니다. 자세한 내용은 다음을 참조하세요.위키피디아 기사.
% 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'