Ist es möglich, reguläre Ausdrücke über die Befehlszeile zu ersetzen? Im Moment benutze ich dazu Notepad ++. In Kommandozeile kann ich FINDSTR nur Wich kann das mached Dateien / Zeilen nur orten
EDIT:
Vielleicht wird es möglich sein , ein VB - Skript zu machen und es von cmd laufen? Ich habe gerade eine Datei "hi.vbs" mit dem Inhalt erstellt
Msgbox "Hi Buddy"
Dann kann ich es mit cmd direkt ausführen, indem ich in der Befehlszeile "hi" eingebe.
Wenn es mit Batch-Skript nicht möglich ist, verwende ich möglicherweise ein VB-Skript durch Batch. Oder..?
Antworten:
gehe hier
http://gnuwin32.sourceforge.net/packages.html
scrolle runter zu SED. Laden Sie coreutils auch herunter, während Sie gerade dabei sind.
Dieser Befehl ersetzt global und in jeder Zeile a durch b. Also nicht nur das erste Mal in der Leitung.
zB mit sed "s / a / b / g" a.txt
VBScript unterstützt reguläre Ausdrücke. Sie können sie suchen und ersetzen.
Zeigt bxxx dxxx xxx an
quelle
Ich habe ein kostenloses Befehlszeilentool für Windows geschrieben, um dies zu tun. Es heißt rxrepl und unterstützt die Unicode- und Dateisuche. Einige mögen es für ein nützliches Werkzeug halten.
quelle
C:\WINDOWS\System32\cmd.exe
Der Scripting Guy erklärt, wie dies in PowerShell gemacht wird (keine zusätzlichen Downloads auf den neuesten Windows-Betriebssystemen, Sie haben es wahrscheinlich bereits installiert).
Starten Sie es und führen Sie Folgendes aus (um a
*
durch a zu ersetzen@
):Dies unterstützt reguläre .NET-Ausdrücke , einschließlich positiver und negativer Look-Ahead- Ausdrücke , und Notepad ++ wurde mit Regex vor Version 6.x nicht unterstützt (so sehr ich Notepad ++ liebe).
quelle
Ich habe fnr.exe dafür gefunden. Es hat GUI und Kommandozeile.
Befehlszeilenoptionen anzeigen
quelle
Sieht aus wie Sie Regex mit FINDSTR verwenden können
findstr [Windows CMD] :
Aus der FindStr-Hilfe (
Findstr /?
):quelle
findstr
kann keinen Text in Dateien ersetzen!Ich bin ein bisschen spät dran , aber JREPL.BAT ist ein hybrides, auf JScript / Batch-Skripten basierendes Regex-Dienstprogramm , das auf jedem Windows-Computer ab XP ausgeführt werden kann.
Das Skript enthält eine vollständige Dokumentation, auf die über zugegriffen werden
JREPL /?
kann oder dieJREPL /??
für die Seitenausgabe verwendet werden kann.JREPL verwendet Standard-ECMA-Regex, der mit JScript geliefert wird. ECMA-Regex ist nicht ganz so leistungsfähig wie das für Powershell verfügbare .NET-Regex, aber es ist immer noch verdammt gut. Und ich denke, der durchschnittliche Benutzer wird dieses Dienstprogramm einfacher als Powershell zu verwenden finden.
Die eingebauten JREPL-Optionen bieten bereits viel Eigenleistung, aber die Möglichkeit, vom Benutzer bereitgestelltes JScript zu injizieren, eröffnet wirklich erstaunliche Möglichkeiten.
Ich habe das Skript entwickelt, weil auf meinem Arbeitsplatz keine nicht standardmäßigen exe-Dateien heruntergeladen werden können, aber keine Einschränkungen beim Schreiben von Batch- oder JScript-Skripten bestehen :-)
Folgen Sie einfach dem Link und kopieren Sie den Skriptcode in eine Datei mit dem Namen JREPL.BAT. In den nachfolgenden Beiträgen dieses Threads finden Sie Beispiele für die Verwendung und den Entwicklungsverlauf. Es gibt auch viele StackOverflow-Antworten, die JREPL.BAT verwenden.
quelle
Zwei gute Optionen sind entweder Cygwin, wodurch Sie eine Unix-ähnliche, bash-ähnliche Umgebung erhalten (Alternative zu cmd.exe). und Unxutils , Win32-Ports einer Sammlung einzelner Unix-Dienstprogramme. In beiden Paketen finden Sie "sed", "awk" und "grep".
quelle
Sie können GSAR auch zum Suchen und Ersetzen in der Befehlszeile verwenden. Funktioniert auch mit Hex und Binär. Es erledigt nicht das komplexe, schwere Heben, das Regex ausführen kann, aber für das einfache Suchen und Ersetzen erledigt es die Arbeit schnell und einfach.
quelle