Моя цель — сопоставить адреса электронной почты, принадлежащие Yahoo! семейство доменов. В системах *nix (я буду использовать Ubuntu), каковы преимущества и недостатки любого из этих методов сопоставления с шаблоном?
И если есть другое, более элегантное решение, которое я не смог придумать, поделитесь им.
Они здесь:
- Используйте
grep
с опцией-i
:
grep -Ei "@(yahoo|(y|rocket)mail|geocities)\.com"
- Переведите символы во все прописные или строчные буквы, затем
grep
:
tr [:upper:] [:lower:] < /path/to/file.txt | grep -E "@(yahoo|(y|rocket)mail|geocities)\.com"
- Включите набор символов для каждого символа в шаблоне (ниже, конечно, не будет соответствовать чему-то вроде «@rOcketmail.com», но вы понимаете, что получится, если я проверю каждый символ на регистр):
grep -E "@([yY]ahoo|([yY]|[rR]ocket)[mM]ail|[gG]eo[cC]ities)\.[cC][oO][mM]" /path/to/file.txt
(?:)
. - person CAustin   schedule 08.04.2014