Comment utiliser PowerShell select-string pour trouver plus d'un motif dans un fichier?
Je voudrais pour rechercher plus d'une chaîne de caractères dans les fichiers d'un répertoire, cependant, l'utilisation de "select-string -pattern" n'a pas aidé. Quelqu'un pourrait-il me montrer comment faire?
Exemple: Recherche de tous les fichiers dans C:\Logs qui contiennent les mots "VendorEnquiry" et "Échec", et avec une Logtime environ 11:30 am. La Structure de fichiers peuvent varier (par exemple, différents noms de balise, etc):
... <methodException>VendorEnquiry</methodException> ...
... <logTime>13/10/2010T11:30:04 am</logTime> ...
... <status>Failed</status> ...
... <serviceMethodException>VendorEnquiry</serviceMethodException> ...
... <logTime>13/10/2010</logTime> ...
... <serviceStatus>Failed</serviceStatus> ...
Grâce.
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez faire correspondre les deux mots dans l'ordre, utilisation:
En cas d'Échec vient toujours après VendorEnquiry sur la ligne, il suffit d'utiliser:
Pour rechercher des correspondances multiples dans chaque fichier, nous pouvons séquence de plusieurs Select-String appels:
À chaque étape, les fichiers qui ne contiennent pas le modèle actuel sera filtré, veiller à ce que la liste définitive des fichiers contient tous les termes de recherche.
Plutôt que d'écrire chaque Select-String appel manuellement, nous pouvons simplifier cette avec un filtre pour correspondre à de multiples motifs:
Maintenant, pour satisfaire à la "Logtime environ 11:30 am" partie de l'exemple faudrait trouver le journal le temps correspondant à chaque échec d'entrée. Comment faire cela est très dépendante de la structure réelle des fichiers, mais les tests pour le "sujet" est relativement simple: