Gibt es ein ähnliches Dienstprogramm wie in grep
der Windows-Eingabeaufforderung oder gibt es ein Drittanbieter-Tool dafür?
179
Es gibt ein Befehlszeilentool namens FINDSTR
, das mit allen Betriebssystemen der Windows NT-Klasse geliefert wird (geben Sie es FINDSTR /?
in ein Eingabeaufforderungsfenster ein, um weitere Informationen zu erhalten). Es unterstützt nicht alles, grep
funktioniert jedoch möglicherweise für Ihre Anforderungen.
netstat -n | FINDSTR 3389
PowerShell (standardmäßig in Windows 7 / 2008R2 enthalten, optional für XP / 2003 / Vista / 2008), das das
select-string
Cmdlet für diesen Zweck enthält.quelle
Grep für Windows von GnuWin Project (02.10.2014: Es ist veraltet, siehe Kommentare unten)
quelle
Wie bereits erwähnt, funktioniert findstr einwandfrei. Beispiel:
C:> dir | findstr Windows
11/06/2013 09:55 PM Windows
quelle
Cygwin grep und mehr;)
quelle
Ich habe auch eine weitere Möglichkeit gefunden, GREP-ähnliche Funktionen in Windows 7 und höher ohne zusätzliche Anwendung für die Installation zu verwenden. Auf älteren Systemen können Sie Powershell installieren.
In Powershell kann der Benutzer Where-Object verwenden. Es verfügt über umfassende Funktionen, die alle Funktionen von GREP und mehr bieten.
Ich hoffe es hilft.
quelle
Ich bin überrascht, dass niemand FINDSTR erwähnt hat . Ich bin kein grep poweruser, aber findstr macht das, was ich brauche, filtert Dateien und stdin mit etwas primitiver Regex-Unterstützung. Wird mit Windows und all dem geliefert. (Edit: Nun, jemand hat findstr erwähnt, es ist spät, denke ich)
quelle
GnuWin32 ist erwähnenswert und bietet eine native Win32-Version aller Standard-Linux-Tools, einschließlich grep, file, sed, groff, indent usw.
Und es wird ständig aktualisiert, wenn neue Versionen dieser Tools veröffentlicht werden.
quelle
Unter Windows verwende ich Far Manager für die Dateisuche. BSD lizenziert, arbeitet in der Konsole, spart Zeit bei der Eingabe von cmdline-Parametern. Hier ist der Suchdialog, der von Alt-F7 aufgerufen wird.
quelle
Update: Dies stimmte nicht, als die Frage ursprünglich gestellt wurde, aber jetzt lässt Microsoft das Windows-Subsystem für Linux installieren , und Windows führt dann grep aus. Führen Sie in PowerShell Folgendes aus:
quelle
UnxUtils ist eine großartige Sammlung von Unix-Dienstprogrammen, die unter Windows ausgeführt werden. Es hat grep, sed, gawk, etc.
quelle
Agent Ransack , ein ausgezeichnetes und sehr schnelles Dienstprogramm zur Dateisuche , unterstützt die Suche nach regulären Ausdrücken. Es ist in erster Linie ein GUI-Dienstprogramm, es ist jedoch auch eine Befehlszeilenschnittstelle verfügbar.
quelle
Im Windows-Reskit gibt es ein Dienstprogramm namens "qgrep". Möglicherweise haben Sie es bereits auf Ihrer Box. ;-) Es kommt auch mit dem "Schwanz" Befehl, Gott sei Dank!
quelle
Obwohl weder Microsoft Grep noch die Befehlszeile technisch verfügbar sind, verfügen sowohl Microsoft Visual Studio als auch Notepad ++ über eine sehr gute Funktion zum Suchen in Dateien mit vollständiger Unterstützung für reguläre Ausdrücke. Ich benutze sie häufig, obwohl ich auch die CygWin-Version von grep in der Befehlszeile habe.
quelle
Ich werde meine $ 0.02 zu diesem Thread hinzufügen. dnGREP ist ein großartiges Open-Source-Grep-Tool für Windows, das Rückgängigmachen, Windows Explorer-Integration, Suchen in PDFs, Zips, DOCs und vielen anderen Dingen unterstützt ...
quelle
Ja, es gibt nur ein Programm für Windows-PCs mit einer soliden Benutzeroberfläche, und es ist für mich von wesentlicher Bedeutung. Ich arbeite als Entwickler und installiere auf jedem Computer, den ich hatte, als erstes das XFind-Programm. Es wurde 1997 erstellt und bis jetzt ist die Version 1.0 und funktioniert bis jetzt und es ist das Beste. Häufig muss ich nach einer Zeichenfolge in " .cs", " .aspx", " .sct" (Visual FoxPro-Formularcodedatei) oder einfach " . *" Suchen, und XFind scannt alle Dateien und zeigt mir Dateien an dass Sie sehen können, wo sich die Zeichenfolge in der Datei befindet. XFind hat auch eine Art Editor. Wenn es sich um eine Binärdatei handelt, wird die gefundene Zeichenfolge angezeigt. Probieren Sie es aus und verwenden Sie es für immer, wenn Sie Entwickler wie ich sind.
quelle
Sie haben offensichtlich viele verschiedene Empfehlungen erhalten.
Meine persönliche Wahl für ein kostenloses Dienstprogramm eines Drittanbieters ist: Agent Ransack
Agent Ransack Download
Trotz seines etwas verwirrenden Namens funktioniert es gut und kann auf verschiedene Arten zum Auffinden von Dateien verwendet werden.
Viel Glück
quelle
Die All-in-One-Busybox enthält grep / egrep / sed / awk und VIELE mehr
Holen Sie es sich von:
Update: nicht mehr verfügbar - oder älter
quelle
Bare Grep ist nett, wenn Sie eine GUI wollen. Gnu grep ist gut für CLI
quelle
Wenn Ihnen ein kostenpflichtiges Produkt nichts ausmacht, ist PowerGREP mein persönlicher Favorit.
quelle
Wir haben kürzlich PowerGREP für einige ziemlich fortgeschrittene Massenoperationen mit Tausenden von Dateien verwendet. Einschließlich Regex-Suche in den Inhalt von PDF-Dateien und Ändern von PDF-Dokumenten in großem Maßstab.
Es ist das Geld wert, wenn Sie Zeit durch manuelle Arbeit sparen möchten. Sie können es versuchen, bevor Sie kaufen, denke ich.
quelle
Wenn Sie Windows verwenden müssen, können Sie zusätzlich zu der oben genannten Powershell-Option VBScript verwenden, das eine angemessene RegEx-Unterstützung bietet.
MS hat auch einen anständigen Skriptbereich auf Technet mit einer Menge Beispielen für Administratoren.
quelle
Probieren Sie einfach das Java-Dienstprogramm LikeGrep aus. Es kann Ihnen in sehr vielen Fällen helfen. Wie Sie möchten, kann es auch Text ersetzen, der in Dateien enthalten ist. Es garantiert seine Arbeit an großen Dateien (bis zu 8 GB getestet)
quelle
Wie oben erwähnt, verfügt das gnuwin32-Projekt über eine Windows-CLI-Version von grep.
Wenn Sie etwas mit einer grafischen Oberfläche möchten, würde ich das (Open-Source-) Tool AstroGrep empfehlen .
quelle
Es ist schon eine Weile her, seit ich sie verwendet habe, aber Borland (jetzt Embarcadero) hat einen Befehlszeilen-Grep in ihren C / C ++ - Compiler aufgenommen. Seit einiger Zeit stellen sie ihre 5.5-Version nach der Registrierung als kostenlosen Download zur Verfügung .
quelle
Es gibt ein kommerzielles Grep-Dienstprogramm von Oak Road Systems .
quelle
Ich empfehle PowerGrep
Ich musste vor einigen Jahren ein E-Discovery-Projekt durchführen. Ich fand, dass
fisdstr
es einige Einschränkungen gab, vor allem würde fisdstr irgendwann scheiternDas Skript musste Tausende von Dateien mit ein paar Dutzend Suchbegriffen / -phrasen durchsuchen.
Cygwins Grep funktionierte viel besser , es drosselte nicht oft, aber letztendlich ging ich zu PowerGrep, weil die grafische Oberfläche es viel einfacher machte zu erkennen, wann und wo es abgestürzt war, und es war auch wirklich einfach, in allen Bedingungen zu bearbeiten und das auszugeben Ich wollte. Letztendlich war PowerGrep der zuverlässigste der drei.
quelle
Ich weiß, dass es ein etwas altes Thema ist, aber hier ist eine andere Sache, die Sie tun können. Ich arbeite auf einer Entwickler-VM ohne Internetzugang und mit sehr begrenztem freiem Speicherplatz, daher habe ich das darauf installierte Java verwendet.
Kompilieren Sie ein kleines Java-Programm, das Regex-Übereinstimmungen auf der Konsole druckt. Platzieren Sie das Glas irgendwo auf Ihrem System, erstellen Sie einen Stapel, um es auszuführen, und fügen Sie den Ordner Ihrer PATH-Variablen hinzu:
JGrep.java:
c: \ jgrep \ jgrep.bat (zusammen mit jgrep.jar):
und füge c: \ jgrep hinzu am Ende der Umgebungsvariablen PATH .
Jetzt einfach anrufen
jgrep "expression" file.txt
von überall an.Ich musste einige bestimmte Gruppen aus meinem Ausdruck drucken, also fügte ich einen Modifikator hinzu und nannte ihn wie
jgrep -printGroup=1 "expression" file.txt
.quelle
Mir ist klar, dass es eine alte Frage ist, aber ich bin auf diesen Beitrag gestoßen, um eine Antwort zu finden. Und ich habe einen gefunden, der ihn hier für das kollektive Internetgedächtnis hinzufügt
Powershell: Select-String-Modul: Microsoft.PowerShell.Utility
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-string
und ein informativer Blog-Beitrag mit erweiterten Beispielen: "Wie man in PowerShell" grep " https://antjanus.com/blog/web-development-tutorials/how-to-grep-in-powershell/
Ein einfaches Beispiel aus diesem Blog-Beitrag: cat package.json | Select-String -Pattern-Webpack ls ./src/components/ | Select-String-Musteransicht
C:> cat post.md | Select-String -Pattern "^ \ w *:"
quelle
Verwenden Sie Cygwin ...
Es hat 32- und 64-Bit-Versionen
und funktioniert einwandfrei von Windows 2000 (*)
bis Windows 10 oder Server 2019
Ich benutze Cygwin schon lange ...
und habe kürzlich versucht, es durch Windows-Linux-Subsysteme zu ersetzen ...
nicht lange ...
Ich ging schnell wieder nach Cygwin zurück ...
viel flexibler, kontrollierbarer und reichhaltiger ...
auch weniger aufdringlich ...
Fügen Sie einfach \ bin zum Pfad hinzu ... und Sie können es in Windows / Batch / Powershell verwenden ...
oder in einer DOS-Box ... oder in einer Powershell-Box ...
Sie können auch eine
Menge großartiger Pakete installieren , die wirklich funktionieren ... wie nginX oder PHP ... Ich verwende sogar das Cygwin PHP-Paket in meinem IIS ...
Als Bonus kannst du es auch aus einer Bash-Shell verwenden ...
(Ich denke, das war die ursprüngliche Absicht ;-))
quelle