# Bash+coreutils+[BSDGames][1] package, <strike>79</strike> 70 bytes

    seq $[9**16]|while read n
    do number $n|grep -q e||echo $n
    done|sed $1q

Unfortunately this spawns `number $n|grep -q e` for every number, so is rather slow.

### Output:

    $ ./eban.sh 5
    2
    4
    6
    30
    32
    $ 

---
### Previous answer - outputs words instead of digits, 43 bytes

    seq $[9**16]|number -l|grep -v [e.]|sed $1q

This outputs each term written in words:

    $ ./eban.sh 5
    two
    four
    six
    thirty
    thirty-two
    $ 

A bit faster, because each process is only spawned once.

---
# Much faster, no dependence on cheaty `number`, 77 bytes

    t=0{0,3,4,5,6}{0,2,4,6}
    eval echo $t$t$t$t$t|tr \  '
    '|sed "s/^0*//;$[$1+1]q"

This one uses [bash brace expansion][2] to generate all (according to my thinking) eban numbers up to 10^15.  Looking at each group of 3 digits, the units digit must be one of {zero,two,four,six}, the tens digit must be one of {zero,thirty,forty,fifty,sixty}, and the hundreds digit must be zero.  Since *x*-illion contains no e's up to quadrillion, then
we can just combine the groups of three digits up to one quadrillion.  The only exception is zero which must be skipped.

So we simply build a brace expansion to generate all these numbers.  There are thus 20<sup>5</sup>-1 of them (3.2 million).  Evaluating the full bash brace expansion takes less than 5 seconds on my VM.

The `sed` expression just strips off leading zeros and counts to n.

### Output:

    $ time ./eban.bash 5
    
    2
    4
    6
    30
    32
    
    real    0m4.065s
    user    0m3.724s
    sys 0m0.276s
    $ ./eban.bash 10000000 | wc -w
    3199999
    $ ./eban.bash 3199999 | tail -5
    66066066066056
    66066066066060
    66066066066062
    66066066066064
    66066066066066
    $ 


  [1]: http://wiki.linuxquestions.org/wiki/BSD_games
  [2]: https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html