Qual é o uso mais eficiente de grep que não diferencia maiúsculas de minúsculas?

Meu objetivo é combinar endereços de email que pertencem ao Yahoo! família de domínios. Nos sistemas * nix (usarei o Ubuntu), quais são os benefícios e as desvantagens de qualquer um desses métodos para corresponder ao padrão?

E se houver outra solução mais elegante que eu não tenha sido capaz de imaginar, compartilhe.

Aqui estão eles:

Usargrep com opção-i:

grep -Ei "@(yahoo|(y|rocket)mail|geocities)\.com"

Traduzir caracteres para todas as maiúsculas ou minúsculasgrep:

tr [:upper:] [:lower:] < /path/to/file.txt | grep -E "@(yahoo|(y|rocket)mail|geocities)\.com"

Inclua um conjunto de caracteres para cada caractere no padrão (é claro que os itens a seguir não corresponderiam a algo como "@ rOcketmail.com", mas você terá a idéia do que seria se eu verificasse cada caractere para ver se há):

grep -E "@([yY]ahoo|([yY]|[rR]ocket)[mM]ail|[gG]eo[cC]ities)\.[cC][oO][mM]" /path/to/file.txt

questionAnswers(1)

yourAnswerToTheQuestion