Usando extensão -L
do GNU grep:
grep -L 'completed without error' o*
-L, --files-without-match
Suppress normal output; instead print the name of each input file from which no output would normally have been printed. The scanning will stop on the first match.
Sem o GNU grep:
for f in o*; do grep -q "completed without error" "$f" || printf "%s\n" "$f"; done