regex pour un caractère ou d'une autre?

Je suis à la recherche de regex code qui liste toutes les lignes qui contiennent un a OU un i.
J'ai essayé ceci:

grep -E '[(a|i)]{1}' testFile.txt

mais cela me donne les mots contenant un ou je et les mots qui contiennent un fr je.
Quel est le problème?

  • que faire si vous essayez .*(a|i).*
  • Pour l'enregistrement, la regex pour "un ou i (ou les deux)" est tout simplement [ai] -- grep fera rapport un match de n'importe où sur une ligne, donc vous n'avez pas besoin de leader ou suiveur des caractères génériques.
  • Si il peut y avoir rien d'autre sur la ligne, grep '^[ai]$' file ou grep -Fx -e a -e i file.
  • Le fichier contient les lettres grecques. La regex doit afficher par exemple: la bêta, mais il NE peut montrer par exemple iota, parce que ce mot contient à la fois un je et un un
InformationsquelleAutor user2810895 | 2013-10-03