No seu caso, "-j" é interpretado por grep como argumento / opção, não como um padrão de pesquisa, mesmo que você o tenha citado. Para fazer com que seja o padrão para o que você deseja pesquisar, use apenas -e option:
sudo find / -name "*" | xargs grep -sn --color=auto -e "-j"
ou até mesmo:
sudo find / -name "*" | xargs grep -sn --color=auto -e -j
O argumento -e / option significa que o próximo argumento é o padrão. Isso é de man grep :
-e PATTERN, --regexp=PATTERN
Use PATTERN as the pattern. This can be used to specify
multiple search patterns, or to protect a pattern beginning with
a hyphen (-). (-e is specified by POSIX.)
Outras maneiras:
-
use
--, como @Rinzwind disse em sua resposta , para fazergrepsaber que as opções terminaram. -
use
\para escapar do hífen (-):sudo find / -name "*" | xargs grep -sn --color=auto "\-j"