Você não precisa usar a opção -r com grep neste caso, porque (veja em man grep ):
-r, --recursive Read all files under each directory, recursively, following symbolic links only if they are on the command line. This is equivalent to the -d recurse option.
Você também precisa redirecionar e erros da saída padrão para serem canalizados pelo comando grep usando 2>&1 redirecionamento:
device list 2>&1 | grep 'okay'
Ou você pode usar |& :
device list |& grep 'okay'