sudo find / -name "*" | xargs grep -sn --color=auto "-j"
Výše uvedený příkaz vrátí níže:
grep: invalid option -- 'j'
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
...
Jak najdu řetězec -j ?
Přijatá odpověď:
Ve vašem případě "-j" je interpretován pomocí grep jako argument/možnost, nikoli jako vyhledávací vzor, i když jste jej citovali. Chcete-li, aby to byl vzor pro to, co chcete hledat, stačí použít -e možnost:
sudo find / -name "*" | xargs grep -sn --color=auto -e "-j"
nebo dokonce:
sudo find / -name "*" | xargs grep -sn --color=auto -e -j
-e argument/volba znamená, že dalším argumentem je vzor. Toto je od 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.)
Jiné způsoby:
-
použijte
--, jak řekl @Rinzwind ve své odpovědi, vytvořitgrepabyste věděli, že možnosti skončily. -
použijte
chcete-li uniknout pomlčce (-):sudo find / -name "*" | xargs grep -sn --color=auto "-j"
Jak spustit druhou instanci programu ze spouštěče Unity?
Jak změnit výchozí port vzdálené plochy (vnc)?