Powershell - Comment rechercher des Mots Entiers (ou) les Correspondances Exactes
c'est mon exigence.
J'ai besoin de savoir si certaines classes CSS est référencé dans ma Solution qui a plus de 120 pages aspx.
C'est la commande que nous avons écrit
gci . -include *.aspx -recurse | select-string -pattern ".rtop" -caseSensitive >> D:\CSSResult.txt
Toutefois, cela correspond même les mots avec trp dans le milieu. C'est, si j'ai une variable nommée comme dirtopy, il s'agit de la liste de résultats. Je ne veux pas que.
Je le veux dans le résultat uniquement si une correspondance exacte .trp est trouvé.
Comment dois-je faire?
Toutes les références ou des exemples serait plus que suffisante.
Merci!
OriginalL'auteur Kanini | 2011-03-02
Vous devez vous connecter pour publier un commentaire.
Essayer
select-string -pattern "\.rtop\b"
.Vous avez besoin pour échapper à la dot, ou il correspond à tout caractère; et le
\b
limite de mot d'ancrage assure que le mot ne se poursuit pas aprèsrtop
.Tu veux dire un astérisque après trp? Oui, cette regex qui permet de l'; il vérifie juste pour word limites, et il y en a un entre une lettre et un caractère non-alphanumérique comme
*
. Que voulez-vous de les autoriser aprèsrtop
- blanc ou en fin de chaîne de caractères? Dans ce cas, remplacez le\b
avec(?=\s|$)
OriginalL'auteur Tim Pietzcker
Vous pouvez utiliser l'-simplematch option de sélectionner la chaîne à faire un littéral de match à la place de regex.
Cela signifie qu'il sera de retour toutes les lignes qui contiennent la chaîne ".trp". La différence est la façon dont la dot est traitée. Unsing -simplematch, il doit correspondre à un point. En utilisant les regex, il correspond à tout caractère unique dans cette position, depuis un point dans une regex signifie "n'importe quel caractère". Vous pouvez exclure quoi que ce soit avec les caractères suivants ".trp" en faisant un simple match ".trp " (ajouter un espace à la fin de qualifier davantage le match).
OriginalL'auteur mjolinor