GNU/Linux >> Tutoriels Linux >  >> Linux

grep :commande introuvable

La commande grep, dans sa forme la plus élémentaire, est un outil de recherche. Contrairement à rechercher ou localiser, il ne se limite pas à rechercher des noms de fichiers; il est le plus souvent utilisé pour rechercher dans le contenu d'un fichier une chaîne de texte particulière. En sortie, grep affiche chaque ligne complète du fichier dans lequel votre modèle de recherche a été trouvé. De cette façon, vous pouvez utiliser grep pour traiter un fichier texte et lire le contenu qui vous intéresse le plus. Par exemple, vous souhaiterez peut-être auditer les événements de connexion d'un utilisateur en consultant un journal d'accès. Au lieu de lire l'intégralité du journal ou de parcourir un terme de recherche dans un éditeur de texte, vous pouvez simplement imprimer toutes les lignes pertinentes à l'écran avec la commande grep.

Syntaxe

La syntaxe de la commande grep est :

# grep [options] {search pattern} {file names}

Utiliser grep pour rechercher des fichiers

En plus de rechercher le contenu des fichiers, vous pouvez utiliser grep pour rechercher un répertoire afin de localiser un certain fichier. Le ls -l | La commande grep audit renvoie une longue liste de tous les fichiers du répertoire actuel dont le nom contient "audit".

Si vous souhaitez inverser la recherche (lignes de sortie qui ne correspondent pas au modèle), utilisez le paramètre -v :

$ grep -v t file1
one
four
five
$

Si vous avez besoin de trouver les numéros de ligne où se trouvent les modèles correspondants, utilisez le paramètre -n :

$ grep -n t file1
2:two
3:three
$

Si vous avez juste besoin de voir le nombre de lignes contenant le modèle correspondant, utilisez le paramètre -c :

$ grep -c t file1
2
$

Si vous devez spécifier plusieurs modèles correspondants, utilisez le paramètre -e pour spécifier chaque modèle :

$ grep -e t -e f file1
two
three
four
five
$

Si vous rencontrez l'erreur ci-dessous lors de l'exécution de la commande grep :

grep: command not found

vous pouvez essayer d'installer le package ci-dessous selon votre choix de distribution :

Répartition du système d'exploitation Commande
OS X brew install grep
Debian apt-get install grep
Ubuntu apt-get install grep
Alpin apk ajouter grep
Arch Linux pacman -S grep
Kali Linux apt-get install grep
CentOS yum install grep
Fédora grep d'installation dnf
Raspbian apt-get install grep

Exemples de commandes grep

1. Pour interpréter MOTIF comme une expression régulière étendue :

# grep --extended-regexp PATTERN
# grep -E PATTERN 

2. Pour interpréter PATTERN comme une liste de chaînes fixes :

# grep -F PATTERN
# grep --fixed-strings PATTERN 

3. Pour interpréter MOTIF comme une expression régulière de base :

# grep -G PATTERN
# grep --basic-regexp PATTERN 

4. Pour interpréter MOTIF comme une expression régulière Perl :

# grep -P PATTERN
# grep --perl-regexp PATTERN 

5. Pour utiliser PATTERN comme motif :

# grep -e PATTERN, 
# grep --regexp=PATTERN 

6. Pour obtenir des motifs depuis FILE, un par ligne :

# grep -f FILE, --file=FILE

7. Pour ignorer les distinctions de casse dans le PATTERN et les fichiers d'entrée :

# grep -i PATTERN
# grep --ignore-case PATTERN

8. Pour inverser le sens de la correspondance, pour sélectionner les lignes qui ne correspondent pas :

# grep -v PATTERN
# grep --invert-match PATTERN 

9. Pour sélectionner uniquement les lignes contenant des correspondances qui forment des mots entiers :

# grep -w PATTERN
# grep --word-regexp PATTERN

10. Pour sélectionner uniquement les correspondances qui correspondent exactement à toute la ligne :

# grep -x PATTERN
# grep --line-regexp PATTERN 

11. Pour ignorer la casse :

# grep -y PATTERN 

12. Pour supprimer la sortie normale ; à la place, imprimez le nombre de lignes correspondantes :

# grep -c PATTERN
# grep --count PATTERN 

13. Pour afficher en couleur :

# grep --color PATTERN 

14. Pour supprimer la sortie normale ; à la place, imprimez le nom de chaque fichier d'entrée, de out ne sera pas attendu :

# grep -L
# grep --files-without-match 

15. Pour supprimer la sortie normale ; à la place, imprimez le nom de chaque fichier d'entrée à partir duquel la sortie a été imprimée :

# grep -l
# grep --files-with-matches 

16. Au calme ; ne rien écrire sur la sortie standard Sortir immédiatement avec un statut zéro si une correspondance est trouvée :

# grep -q 
# grep --quiet
# grep --silent 

17. Pour arrêter la lecture d'un fichier après NUM lignes correspondantes :

# grep -m NUM
# grep --max-count=NUM 

18. Pour imprimer uniquement les parties correspondantes (non vides) d'une ligne correspondante :

# grep -o PATTERN
# grep --only-matching PATTERN 

19. Pour supprimer les messages d'erreur concernant des fichiers inexistants ou illisibles :

# grep -s PATTERN
# grep --no-messages PATTERN 

20. Pour imprimer le décalage d'octet de base 0 dans le fichier d'entrée avant chaque ligne de sortie :

# grep -b PATTERN
# grep --byte-offset PATTERN 

21. Pour imprimer le nom du fichier pour chaque match :

# grep -H PATTERN
# grep --with-filename PATTERN

22. Pour supprimer le préfixe des noms de fichiers en sortie :

# grep -h PATTERN
# grep --no-filename PATTERN 

23. Pour afficher l'entrée provenant réellement de l'entrée standard comme entrée provenant du fichier LABEL :

# grep -cd PATTERN | grep --label=mysearch -H PATTERN 

24. Pour préfixer chaque ligne de sortie avec le numéro de ligne basé sur 1 dans son fichier d'entrée :

# grep -n PATTERN
# grep --line-number PATTERN 

25. Pour vous assurer que le premier caractère du contenu réel de la ligne se trouve sur un taquet de tabulation :

# grep -T PATTERN
# grep --initial-tab PATTERN 

26. Pour signaler les décalages d'octets de style Unix :

# grep -u PATTERN
# grep --unix-byte-offsets PATTERN 

27. Pour sortir un octet zéro au lieu du caractère qui suit normalement un nom de fichier :

# grep -Z PATTERN
# grep --null PATTERN

28. Pour imprimer NUM lignes de contexte de fin après les lignes correspondantes :

# grep -A NUM PATTERN
# grep --after-context=NUM PATTERN 

29. Pour imprimer NUM lignes de contexte principal avant les lignes correspondantes :

# grep -B NUM PATTERN
# grep --before-context=NUM PATTERN 

30. Pour imprimer NUM lignes de contexte de sortie :

# grep -C NUM PATTERN
# grep --context=NUM PATTERN 

31. Pour traiter un fichier binaire comme s'il s'agissait de texte :

# grep -a PATTERN /tmp/bin
# grep -text PATTERN /tmp/bin 

32. Pour supposer que le fichier est de type TYPE :

# grep --binary-files=TYPE PATTERN 

33. Pour Si un fichier d'entrée est un périphérique, FIFO ou socket, utilisez ACTION pour le traiter :

# grep -D ACTION PATTERN
# grep --devices=ACTION PATTERN 

34. Pour Si un fichier d'entrée est un répertoire, utilisez ACTION pour le traiter :

# grep -d ACTION PATTERN
# grep --directories=ACTION PATTERN 

35. Pour ignorer les fichiers dont le nom de base correspond à GLOB :

# grep --exclude=GLOB PATTERN 

36. Pour ignorer les fichiers dont le nom de base correspond à l'un des globs de nom de fichier lus à partir de FILE :

# grep --exclude-from=FILE PATTERN 

37. Pour exclure les répertoires correspondant au modèle DIR des recherches récursives :

# grep --exclude-dir=DIR PATTERN

38. Pour traiter un fichier binaire comme s'il ne contenait pas de données correspondantes :

# grep -I PATTERN

39. Pour rechercher uniquement les fichiers dont le nom de base correspond à GLOB :

# grep --include=GLOB 

40. Pour lire tous les fichiers sous chaque répertoire, de manière récursive :

# grep -r PATTERN
# grep -R PATTERN 

41. Pour utiliser la mise en mémoire tampon de ligne sur la sortie :

# grep --line-buffered PATTERN 

42. Si possible, utilisez l'appel système mmap pour lire l'entrée, au lieu de la lecture par défaut :

# grep --mmap PATTERN 

43. Pour traiter le(s) fichier(s) comme binaire :

# grep -U /tmp/file PATTERN
# grep --binary /tmp/file PATTERN 

44. Pour traiter l'entrée comme un ensemble de lignes :

# grep -z PATTERN
# grep --null-data PATTERN 

45. Pour afficher l'aide :

# grep -h 

46. ​​Pour imprimer le numéro de version du grep :

# grep -V 


Linux
  1. gestionnaire d'abonnement :commande introuvable

  2. dnf :commande introuvable

  3. bc :commande introuvable

  4. dpkg :commande introuvable

  5. id :commande introuvable

nc :commande introuvable

aws-shell :commande introuvable

tvservice :commande introuvable

lspci :commande introuvable

pstree :commande introuvable

ln :commande introuvable