Tôi đang sử dụng tre-agrep
(manpage) , một triển khai agrep
(manpage) , để thực hiện khớp mẫu gần đúng. Tiện ích này tìm kiếm các kết quả khớp dựa trên khoảng cách Levenshtein và người dùng có thể định cấu hình hình phạt được áp dụng để thay thế, chèn hoặc xóa các chỉnh sửa.
Tuy nhiên, tôi muốn áp dụng các trọng số khác nhau theo chiều dài của truy vấn, cụ thể là với trọng số thấp hơn để xóa ở đầu (đầu bên trái) của truy vấn so với bên phải. Các man
trang cho tiện ích này không có nghĩa là một mức độ như vậy kiểm soát là có thể.
Có các công cụ dòng lệnh khác trong đó có thể kết hợp gần đúng với kiểm soát tốt hơn đối với các hình phạt không khớp?
agrep
nào họ thực sự cần, tôi có thể có thể đánh cắp thứ gì đó. Tính toán khoảng cách Levenshtein của hai chuỗi rất dễ dàng, thực sự. Tôi muốn đề xuất một tập lệnh shell bao quanh lệnh gọi GNU awk.