Có một biểu thức chính quy cho các ký tự sau khớp với các ký tự trong một bộ ký tự nhưng chỉ một lần không? Nói cách khác, một khi tìm thấy một ký tự, hãy xóa nó khỏi tập hợp.
Nếu grep không thể làm điều này, có tiện ích tích hợp nào có thể không?
Thí dụ:
Characters to match only once: spine
Đầu vào:
spine
spines
spin
pine
seep
spins
Đầu ra:
spine
spin
pine
EDIT:
Có nhiều cách để đạt được đầu ra này (một ví dụ dưới đây), nhưng tôi đang tìm cách để làm điều này mà không phải tùy chỉnh lệnh cho từng mẫu tôi muốn khớp.
grep '[spine]' input_file | grep -v 's.*s' | ... | grep -v 'e.*e'