Je m'attache actuellement à une tâche que j'ai reçu comme un défi de mon professeur, mais il est prudent de dire que je suis assez soulevé. Je suis censé trouver un fichier journal sur une machine virtuelle qui contient le mot clé spécifique "x". p>
Y a-t-il une commande spécifique que je pourrais utiliser pour rechercher dans chaque fichier pour ce mot clé? P>
Merci d'avance: D P>
3 Réponses :
Il n'y a pas de commandement, je suis au courant de cela rechercher directement un fichier avec un contenu spécifique. Vous devrez ouvrir chaque fichier et utiliser Regex pour trouver la chaîne. Vous utiliseriez Toutefois, si vous le souhaitez un A +, vous pouvez exécuter la tâche de rechercher chaque fichier en tant que travail ou à un espace d'exécution pour vérifier chaque fichier en parallèle / nouveau thread, ce qui augmenterait considérablement la vitesse du tri dans de nombreux fichiers, mais que est une technique plus avancée. P>
Une partie de la leçon apprend à la codification de cela, alors je suis en train d'omettre le code et de vous donner les commandes de clé que vous devriez regarder. P> get-wirtem code> pour obtenir une liste de chaque fichier dans le répertoire de journal, puis foreach code> élément que vous seriez get-Content code>, puis Vérifiez si ce contenu a la chaîne que vous recherchez. P>
Vous pourriez être capable de faire quelque chose comme: p>
Get-Childitem -Path Path \ to \ Recherche -Recurse -ErrorAction silencianteContinue | Select-String -pattern "Jonathan.Williams" | Chemin de groupe | Sélectionnez Nom P>
mise à jour: p>
Vous pouvez le changer à p>
Get-Childitem -Path Path \ to \ Recherche -Recurse -ErrorAction silencianteContinue | Select-String "Jonathan.Williams" P>
Pour obtenir le numéro de ligne avec le fichier aussi bien p>
Select-String code> est la cmdlet que vous recherchez. dir *.log | select-string 'regex pattern
Existe-t-il un moyen d'automatiser la recherche dans chaque répertoire?
Bien sûr ... Utilisez le commutateur -Recurse code> sur DIR (get-childitem)