dans Cette question de questions est quelque chose que je ne peux pas expliquer:
grep "\'" input_file
4 Réponses :
\ est un caractère d'échappement. Cela signifie que le 'devrait considérer comme un texte à rechercher, et non comme un caractère de contrôle. P>
Mais même si le fichier texte ne contient pas de guilleme, Grep correspond toujours à toutes les lignes du fichier. Je pense que c'est ce que demande l'OP.
Oui, il est étrange que Grep correspond à toutes les entrées pour une citation unique littérale
C'est un très étrange Beavour de update 1 strong> p> tel qu'il est indiqué dans http://www.gnu.org /software/findutils/manual/html_node/finind_html/grep-regular-expression-syntax.html (Merci à Richard Sitze pour le lien) Il a vraiment la même signification que vous pouvez spécifier Une autre remarque importante. Le manuel dit: p> mais à proprement parler, ce n'est pas la vérité, car exactement comment grep code>, je ne sais pas comment l'expliquer, mais je dois noter que
\ ' code> ne correspond à aucun caractère. Il semble qu'il a la même signification que
$ code>:
$ code>. Mais pendant ce temps, j'ai noté une différence entre
\ ' code> et
$ code>: p>
\ \ ' code> autant de fois que vous le souhaitez, mais ce n'est pas le cas pour
$ code>. Il doit y avoir un seul
$ code>. P>
\ ' code> correspond non seulement à la fin de l'entrée entière mais la fin de chaque single Ligne également: p>
$ code> fait. p> p>
Pour moi $ code> et
\ ' code> se comporte un peu différemment.
Echo x | grep "$ x" code> correspondance, mais
écho x | grep "\ 'x" code> ne correspond pas.
Vous devez écrire grep '$ x' code> pas
grep "$ x" code>; Parce que
"$ x" code> sera développé par shell et
"$ x" code> est identique au
'' code> (rien). Essayez simplement
echo "$ x" code> et
echo '$ x' code>
Plus $ code> n'a aucune signification au début d'une ligne d'une perspective d'ancrage. Double échec de ma part.
@theon: Non, cela a le sens, le même sens que toujours, mais le repère ne correspondra jamais
Vous avez dit "" \ 'correspond non seulement à la fin de l'entrée entière mais la fin de chaque ligne ". Est-ce que cela correspond à la fin de chaque ligne individuelle ou correspondait-il à la totalité de l'entrée?
Je ne connaissais pas cette caractéristique des expressions régulières. Mais il est énuméré à la liste régulière-expressions.info comme le fin de la chaîne forte > ancre. p>
Il n'existe pas dans toutes les implémentations de regex uniquement dans GNU Basic et Extended Expressions régulières, voir cette Compatibilité Graphique pour plus d'informations. P>