Моя цель - сопоставить адреса электронной почты, принадлежащие 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