Y a-t-il un équivalent de la commande grep pour Windows 7? En d'autres termes, je veux filtrer les résultats d'une commande:
Utilisation de Bash:
ls | grep root
Que serait-il en utilisant l'invite de commandes Windows?
Y a-t-il un équivalent de la commande grep pour Windows 7? En d'autres termes, je veux filtrer les résultats d'une commande:
Utilisation de Bash:
ls | grep root
Que serait-il en utilisant l'invite de commandes Windows?
@DavidPostill, ne vous en faites pas, mais la réponse acceptée contient plusieurs clés excessives et non expliquées /B
, /R
et /C
sur lesquelles l'OP n'avait pas demandé, tandis que ma réponse donne l'équivalent exact
Le /b
est utilisé pour rendre la sortie de dir
identique à la sortie de ls
. Si vous le testez, vous verrez la différence. Donc ce n'est pas l'équivalent exact.
Cela duplique une autre réponse et n'ajoute aucun contenu nouveau. S'il vous plaît ne publiez pas une réponse à moins que vous ayez réellement quelque chose de nouveau à apporter.
Vous pouvez essayer d'installer Chocolatey sur Windows, et à travers cela, installer l'outil Gow. Cela vous fournira grep
sur Windows.
Gow
signifie GNU sur Windows. Il fournit des utilitaires de ligne de commande Unix sur Windows.
C'est un gestionnaire de packages, comme un apt-get mais pour Windows. Il a été nommé ainsi car le développeur l'a basé sur NuGet qui est un gestionnaire de packages pour Visual Studio, et que ça ressemble à nugget (comme dans nugget de poulet), alors il a pensé qu'il serait "drôle" ou "intelligent" d'appeler son programme Chocolatey NuGet. J'ai entendu ça dans un podcast qui l'a interviewé. Gow peut également être téléchargé indépendamment.
Je suis nouveau sur Gow, après quelques jours d'utilisation je peux témoigner que j'aime beaucoup - c'est mieux que tous les anciens ports d'utils UNIX que j'avais utilisés auparavant.
@RadimCernej votre commentaire n'est pas utile à moins que vous ne précisiez comment vous pensez qu'il est meilleur.
J'ai écrit une alternative à grep pour Windows en utilisant un code Hybride Batch/JScript. J'ai écrit cela car réussir à obtenir les caractères d'échappement corrects dans le port GNU Win32 grep était vraiment pénible. Cette version fonctionne beaucoup plus comme vous voudriez que la version GNU fonctionne sous Windows :
@set @junk=1 /*
@cscript //nologo //E:jscript %~f0 %*
@goto :eof */
var args=WScript.Arguments, argCnt=args.Length, stdin=WScript.StdIn, stdout=WScript.StdOut;
var replaceSingleQuotes=false, printMatchesOnly=false, matchString, flagString, regex, argDx=0;
if(argCnt==0) {
throw new Error("Vous devez fournir des critères de recherche.");
}
flagString=""
if(argCnt>1) {
for(var bLoop=true; bLoop&&argDx
`
Vous pouvez toujours trouver la dernière version sur ma page Gist pour ceci.
`
Le programme Multi Replacer a été préparé de manière à ce que de nombreuses fonctions puissent être exécutées en utilisant des paramètres de ligne de commande. L'utilisation en ligne de commande est présentée ci-dessous :
MultiReplacer [Fichier Multi Replacer] | [Fichiers de recherche] | [Dossiers de recherche]
[-Subs] [-NoSubs] [-IncPtr=pattern] [-ExcPtr=patterns] [-DestDir=destination]
[-DMAnyTime]
[-DMWithinanhour] [-DMToday] [-DMYesterday] [-DMThisweek] [-DMThismonth]
[-DMThisYear]
[-CDMAfter=date] [-CDMBefore=date] [-MinFileSize=bytes count]
[-MaxFileSize=bytes count]
[-Search=text] [-Case] [-NoCase] [-Regex] [-NoRegex] [-SubMatchText=text]
[-ReplaceText=text]
[-StartSearch] [-StartReplace] [-AutoClose] [-StopAfterMatchThisFile] [-StopAfterMatchAll]
[-ExtractedWordsFile=filename] [-ExtractedLinesFile=filename] [-
ReportFile=filename]
Vous pouvez toujours utiliser votre grep
familier et d'autres commandes Linux en téléchargeant cet outil UnxUtils et en ajoutant son emplacement à votre variable d'environnement PATH
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.
10 votes
Ne confondez pas MS-DOS avec l'invite de commandes. + L'utilisation de find et findstr et même grep, pour Windows.. se trouve sûrement facilement avec une recherche rapide. Il existe même des tableaux de commandes équivalentes dans Linux et Windows. De plus, votre exemple bash n'est même pas spécifique à bash.. juste je suppose, un OS *nix.