Je recherche l'équivalent PowerShell de grep --file=filename
. Si vous ne savez pas grep
, filename est un fichier texte dans lequel chaque ligne a un modèle d'expression régulière que vous voulez faire correspondre.
Peut-être que je manque quelque chose d'évident, mais Select-String
ne semble pas avoir cette option.
powershell
grep
Fordio
la source
la source
la source
findstr
fonctionne le plus commegrep
sur Linux.Select-String
est idéal pour travailler avec des objets, mais parfois vous voulez simplement faire correspondre des chaînes.findstr
n'est pas natif de PowerShell, mais l'invite de commande.Je ne suis pas familier avec grep mais avec Select-String vous pouvez faire:
Vous pouvez également le faire avec Get-Content:
la source
dir *.cs -Recurse | sls "TODO" | select -Unique "Path"
. Thx pour l'excellent pointeur.J'ai donc trouvé une assez bonne réponse sur ce lien: https://www.thomasmaurer.ch/2011/03/powershell-search-for-string-or-grep-for-powershell/
Mais c'est essentiellement:
Cela donne une recherche de fichier de répertoire (* ou vous pouvez simplement spécifier un fichier) et une recherche de contenu de fichier dans une seule ligne de PowerShell, très similaire à grep. La sortie sera similaire à:
la source
Cette question a déjà une réponse, mais je veux juste ajouter que dans Windows, il existe un sous-système Windows pour Linux WSL .
Ainsi, par exemple, si vous voulez vérifier si vous avez un service nommé Elasicsearch qui est en cours d' exécution, vous pouvez faire quelque chose comme l'extrait ci-dessous dans PowerShell
net start | grep Elasticsearch
la source
J'ai eu le même problème en essayant de trouver du texte dans des fichiers avec PowerShell. J'ai utilisé ce qui suit - pour rester aussi proche que possible de l'environnement Linux.
Espérons que cela aide quelqu'un:
PowerShell:
Explication:
Oui, cela fonctionne aussi:
la source
Correct. PowerShell n'est pas un clone de l'ensemble d'outils des shells * nix.
Cependant, il n'est pas difficile de construire quelque chose comme ça vous-même:
la source
Select-String -Pattern somestring
est beaucoup plus proprePeut être?
la source