Frage

Gibt es ein ähnliches Dienstprogramm, um grep über die Windows-Eingabeaufforderung oder ein Drittanbieter-tool für Sie?

War es hilfreich?

Lösung 6

Ich fand auch eine weitere Möglichkeit GREP wie Funktionalität ohne zusätzliche Anwendung in Windows 7 und oberhalb der Verwendung zu installieren und auf älteren Systemen können Sie Powershell installieren verwenden.

Powershell können Benutzer verwenden

Andere Tipps

Es ist ein Kommandozeilen-Tool FINDSTR genannt, die (FINDSTR /? in ein Eingabeaufforderungsfenster für weitere Informationen Typen) mit allen Windows-NT-Klasse Betriebssystemen kommt es nicht alles unterstützt grep tut, aber es könnte für Ihre Bedürfnisse ausreichen .

Powershell (als Standard für Windows enthalten 7 / 2008R2, optional für XP / 2003 / Vista / 2008), die das select-string Cmdlets zu diesem Zweck enthält.

Grep für Windows von GNUWin Projekt (2014.10.02: Es ist veraltet, siehe Kommentar unten)

wie erwähnt, findstr funktioniert gut. Beispiel:

C:> dir | findstr Windows-

11.06.2013 09.55 Windows-

Cygwin grep und mehr;)

Ich bin überrascht, niemand erwähnt hat FINDSTR . Ich bin kein grep Poweruser, aber findstr tut, was ich brauche es, Filterdateien und stdin, mit einigen primitiven regex Unterstützung. Mit Windows und das alles. (Edit: Nun jemand Erwähnung findstr tat, es ist spät glaube ich)

GnuWin32 ist erwähnenswert, es bietet native Win32-Version von allen gängigen Linux-Tools, einschließlich grep, Datei, sed, groff Spiegelstrich, etc.

Und es ist ständig aktualisiert, wenn neue Versionen dieser Tools freigegeben werden.

Unter Windows verwende ich Far Manager für Dateisuche. BSD lizensiert, arbeitet in der Konsole, spart Zeit auf Zeilen-Parameter eingeben. Hier ist sein Suchdialog von Alt-F7 aufgerufen. Alt-F7

UnxUtils ist eine große Menge von Unix-utilites, die auf Windows laufen. Es hat grep, sed, gaffen, etc.

Ein ausgezeichnetes und sehr schnelles Datei-Suchprogramm, Agent Ransack unterstützt regelmäßig Ausdruck zu suchen. Es ist in erster Linie ein GUI-Dienstprogramm, sondern eine Kommandozeile-Schnittstelle ist ebenfalls vorhanden.

Update: Das war nicht der Fall, wenn die Frage ursprünglich gefragt wurde, aber jetzt Microsoft läßt man Installieren Sie das Windows-Subsystem für Linux und Windows wird dann grep laufen. In Powershell:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

In den Fenstern ResKit es ein Dienstprogramm „qgrep“ genannt wird. Sie können es bereits auf dem Feld haben. ;-) Es ist auch mit dem „Schwanz“ Befehl kommt, Gott sei Dank!

Obwohl technisch nicht grep noch Befehlszeile, die beide Microsoft Visual Studio und Notepad ++ haben eine sehr gute Suchen in Dateien Funktion mit voller Unterstützung von regulären Ausdrücken. Ich finde mich mit ihnen häufig, obwohl ich auch die CygWin Version von grep auf der Kommandozeile.

Ich werde meinen $ 0,02 auf diesen Thread hinzufügen. dnGREP ist ein großes Open-Source für Windows grep-Tool, das die Integration Windows Explorer zurücksetzen unterstützt, Suche innerhalb PDFs, Reißverschlüsse, DOCs und paar andere Sachen ...

Ja, es ist nur ein Programm für Windows-PC, die feste GUI hat, und es ist wichtig, util für mich. Ich arbeite als Entwickler und auf jedem Computer, den ich je hatte, als erstes Adult Friendfinder-Programm installieren. Es ist im Jahr 1997 erstellt und bis jetzt Version 1.0 und bis jetzt ist funktioniert und es ist die beste. Häufig muss ich eine Schnur in einer " .cs", " aspx", " .sct" (Visual FoxPro-Formular-Code-Datei) oder einfach nur ". *" Suchen und Adult Friendfinder durchsucht alle Dateien und zeigen Sie mir Dateien und andere große Sache ist, dass man schauen kann, wo Zeichenfolge in der Datei ist. Adult Friendfinder hat auch eine Art Editor. Wenn es Binärdatei wird es Ihnen Zeichenfolge finded zeigen. Probieren Sie es aus und verwenden Sie es für immer, wenn Sie Entwickler wie ich sind.

Sie haben offensichtlich eine Menge verschiedener Empfehlungen bekommen.
Meine persönliche Wahl für ein freies, 3rd Party-Dienstprogramm ist: Agent Ransack
Agent Ransack Herunterladen
Trotz seiner etwas verwirrend Namen, es funktioniert gut und kann in einer Vielzahl von Arten verwendet werden, um Dateien zu finden.

Good Luck

Bare Grep schön ist, wenn Sie eine GUI wollen. Gnu grep für CLI gut ist

Wenn Sie nicht über ein einbezahltes für das Produkt ausmachen, PowerGREP ist mein persönlicher Favorit.

Wir haben vor kurzem verwendet haben PowerGREP für einige ziemlich weit fortgeschritten Bulk-Operationen auf Tausende von Dateien. Einschließlich regex in Inhalt von PDF-Dateien suchen und PDF-Dokumente in Volumen zu verändern.

Es ist das Geld wert, wenn Sie Zeit von manuel Arbeit speichern möchten. Sie können es versuchen, bevor Sie ich denke kaufen.

Wenn Sie nacktes Windows verwenden, dann zusätzlich zu der Powershell-Option oben erwähnt, können Sie VBScript verwenden, die anständige RegEx Unterstützung hat.

MS hat auch einen anständigen Scripting-Bereich auf Technet mit einer Tonne Beispiele für Administratoren.

Versuchen Sie einfach LikeGrep Java-Dienstprogramm. Es kann Ihnen in sehr vielen Fällen helfen. Wie Sie wünschen, kann es auch einen Text, ersetzen in Dateien gefunden. Es garantees seine Arbeit auf große Dateien (bis zu 8 Gb getestet)

Wie oben erwähnt, ist das gnuwin32 Projekt hat eine Windows-CLI-Version von grep.

Wenn Sie etwas mit einer grafischen Oberfläche wollen, würde ich die (Open-Source) empfehlen Tool AstroGrep .

Es war eine Weile her, seit ich verwendet habe, aber Borland (Embarcadero jetzt) enthalten ist ein Kommandozeilen-grep mit Ihrer C/C++ - compiler.Für einige Zeit haben Sie zur Verfügung gestellt 5,5-version als kostenloser download nach der Registrierung.

Es gibt ein kommerzielles grep Dienstprogramm erhältlich von Oak Straßensystemen .

Ich empfehle PowerGREP

Ich hatte vor ein E-Discovery-Projekt mehrere Jahre zu tun. Ich fand, dass hatte fisdstr einige Einschränkungen, ganz besonders fisdstr würde scheitern schließlich

das Skript hatte über Tausende von Dateien mit ein paar Dutzend Suchbegriffe / Phrasen zu suchen.

Cygwin grep arbeitete viel besser , ist es nicht oft haben zu ersticken, aber letztlich ging ich zu PowerGREP, weil die grafische Oberfläche es viel einfacher zu sagen gemacht, wann und wo es abgestürzt ist, und es war auch wirklich einfach in allen conditionals und Ausgang zu bearbeiten, die ich wollte. Letztlich PowerGREP war das zuverlässigste der drei.

das All-in-one Busybox enthält grep / egrep / sed / awk und VIELE weitere

erhalten sie von:

oder einige ältere

Ich weiß, dass es ein bisschen altes Thema ist aber, hier ist eine andere Sache, die Sie tun können. Ich arbeite an einem Entwickler VM ohne Internetzugang und ganz freien Speicherplatz begrenzt ist, so habe ich die Verwendung des Java darauf installiert.

Übersetzen kleines Java-Programm, das regex druckt auf die Konsole übereinstimmt. Setzen Sie das Glas irgendwo auf Ihrem System, erstellen Sie eine Batch, um sie auszuführen und den Ordner, in Ihrer PATH-Variable hinzu:

JGrep.java:

package com.jgrep;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class JGrep {

    public static void main(String[] args) throws FileNotFoundException, IOException {
        int printGroup = -1;
        if (args.length < 2) {
            System.out.println("Invalid arguments. Usage:");
            System.out.println("jgrep [...-MODIFIERS] [PATTERN] [FILENAME]");
            System.out.println("Available modifiers:");
            System.out.println(" -printGroup            - will print the given group only instead of the whole match. Eg: -printGroup=1");
            System.out.println("Current arguments:");
            for (int i = 0; i < args.length; i++) {
                System.out.println("args[" + i + "]=" + args[i]);
            }
            return;
        }
        Pattern pattern = null;
        String filename = args[args.length - 1];
        String patternArg = args[args.length - 2];        
        pattern = Pattern.compile(patternArg);

        int argCount = 2;
        while (args.length - argCount - 1 >= 0) {
            String arg = args[args.length - argCount - 1];
            argCount++;
            if (arg.startsWith("-printGroup=")) {
                printGroup = Integer.parseInt(arg.substring("-printGroup=".length()));
            }
        }
        StringBuilder sb = new StringBuilder();
        try (BufferedReader br = new BufferedReader(new FileReader(filename))) {
            sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
        }
        Matcher matcher = pattern.matcher(sb.toString());
        int matchesCount = 0;
        while (matcher.find()) {
            if (printGroup > 0) {
                System.out.println(matcher.group(printGroup));
            } else {
                System.out.println(matcher.group());
            }
            matchesCount++;
        }
        System.out.println("----------------------------------------");
        System.out.println("File: " + filename);
        System.out.println("Pattern: " + pattern.pattern());
        System.out.println("PrintGroup: " + printGroup);
        System.out.println("Matches: " + matchesCount);
    }
}

c: \ jgrep \ jgrep.bat (zusammen mit jgrep.jar):

@echo off
java -cp c:\jgrep\jgrep.jar com.jgrep.JGrep %*

und fügen Sie c:. \ Jgrep am Ende der Umgebungsvariable PATH

Nun rufen Sie einfach jgrep "expression" file.txt von überall.

Ich brauchte einige spezifische Gruppen von meinem Ausdruck zu drucken, damit ich einen Modifikator hinzugefügt und es wie jgrep -printGroup=1 "expression" file.txt nennen.

Ich weiß, sein eine alte Frage, aber ich über dieses Thema kam eine Antwort zu suchen. Und ich habe eine so fand es hier für das kollektive Internet Hinzufügen von Speicher

Powershell: Select-String Modul: Microsoft.PowerShell.Utility

https://docs.microsoft .com / de-de / Power / module / Microsoft.PowerShell.Utility / select-string

und eine informative Blog-Post mit fortgeschrittenem examnples: "How to‚grep‘in Powershell" https://antjanus.com/blog/web -Entwicklung-tutorials / how-to-grep-in-Powershell /

Ein einfaches Beispiel aus dieser Blog-Post: Katze package.json | Select-String -Pattern webpack ls ./src/components/ | Select-String -Pattern Ansicht

C:> cat post.md | Select-String -Pattern "^ \ w *:"

Mit Cygwin ...

es hat 32 und 64 Bit-Versionen
und es funktioniert gut von Windows 2000 (*)
Windows 10 oder Server 2019

Ich benutze Cygwin für eine lange Zeit ...
und vor kurzem habe versucht mit dem Windows-Linux-Subsystemen ...

zu ersetzen

nicht für lange ...
Ich Cygwin schnell wieder ging zurück ...

viel flexibler, kontrollierbaren und reich ...
auch weniger aufdringlich ...

nur \ ist auf den Pfad hinzufügen ...
und Sie können es anyware in Windows / Batch / Powershell verwenden ...
oder in einer DOS-Box ... oder in einer Powershell-Box ...

Sie können auch eine Tonne großer Pakete installieren
dass wirklich funktionieren ... wie nginx oder PHP ... Ich habe sogar das Cygwin-PHP-Paket in meinem IIS verwenden ...

Als Bonus wou kann es auch von einem Bash-Shell verwenden ...
(Ich denke, das die ursprüngliche Absicht war; -))

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top