GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment utiliser Grep pour rechercher un modèle commençant par un trait d'union (-) ?

sudo find / -name "*" | xargs grep -sn --color=auto "-j"

La commande ci-dessus renvoie ci-dessous :

grep: invalid option -- 'j'
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
...

Comment rechercher la chaîne -j ?

Réponse acceptée :

Dans votre cas "-j" est interprété par grep comme argument/option, pas comme motif de recherche, même si vous l'avez cité. Pour en faire le modèle de ce que vous souhaitez rechercher, utilisez simplement -e choix :

sudo find / -name "*" | xargs grep -sn --color=auto -e "-j"

ou encore :

sudo find / -name "*" | xargs grep -sn --color=auto -e -j

Le -e argument/option signifie que l'argument suivant est le modèle. Cela vient 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.)

Autres moyens :

  • utilisez -- , comme @Rinzwind l'a dit dans sa réponse, pour faire grep savoir que les options sont terminées.

  • utilisez pour échapper le trait d'union (- ):

    sudo find / -name "*" | xargs grep -sn --color=auto "-j"
    

Ubuntu
  1. Comment rechercher dans des fichiers spécifiques correspondant à un modèle ?

  2. Comment puis-je rechercher un motif multiligne dans un fichier ?

  3. Sortie de canal à utiliser comme spécification de recherche pour grep sous Linux

  4. Comment grep pour le contenu après le modèle?

  5. Comment rechercher des pages de manuel Linux (par exemple avec grep)

Comment utiliser la commande wget avec des exemples

Comment utiliser la commande d'arrêt de Linux avec des exemples

Comment utiliser les variables d'environnement avec les graphiques Helm

Comment utiliser la commande grep sous Linux/UNIX

Comment exclure dans Grep

Comment effectuer une recherche de modèle dans les fichiers à l'aide de Grep