GNU/Linux >> Tutoriels Linux >  >> Linux

Utilisation de grep pour rechercher une chaîne contenant un point

grep -F -r '0.49' * traite 0,49 comme une chaîne "fixe" au lieu d'une expression régulière. Cela fait . perdre sa signification particulière.


grep utilise des expressions régulières ; . signifie "n'importe quel caractère" dans une expression régulière. Si vous voulez une chaîne littérale, utilisez grep -F , fgrep , ou échappez le . à \. .

N'oubliez pas d'entourer votre chaîne de guillemets doubles. Sinon, vous devez utiliser \\.

Donc, votre commande devrait être :

grep -r "0\.49" *

ou

grep -r 0\\.49 *

ou

grep -Fr 0.49 *

Vous devez échapper le . comme "0\.49" .

Un . est un méta-caractère regex pour correspondre à n'importe quel caractère (sauf la nouvelle ligne). Pour correspondre à un point littéral, vous devez l'échapper.


Linux
  1. Comment trouver tous les fichiers qui ne contiennent pas de chaîne de texte ?

  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. Regex (grep) pour la recherche multi-lignes nécessaire

  5. Comment rechercher des fichiers à l'aide de regex dans le script shell Linux

Comment exclure dans Grep

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

Conseils d'utilisation de l'écran

Linux recherche une chaîne dans des dossiers et des fichiers avec ack

Utilisation de la commande Bash printf pour imprimer des sorties formatées

Recherche d'une chaîne dans plusieurs fichiers sous Linux