Entspricht ein Platzhalter für Charge?

452
Mark Deven

Ich bin fast sicher, dass dies ein Duplikat ist, aber ich konnte es nach langem Suchen nicht finden, also verzeihen Sie mir.
Ich bin auf der Suche nach einer Möglichkeit, im Befehl Suchen das Äquivalent eines Platzhalters zu haben. Zum Beispiel, wenn ich eine Zeile in einer Datei finden möchte, die Folgendes enthält: 09/(some unknown string here)/2018Wie würde ich das tun? Ich bin auch offen für die Verwendung des findstrBefehls.

0
Haben Sie tatsächliche Platzhalterzeichen (% *) ausprobiert? Máté Juhász vor 5 Jahren 0
Ja, es hat nur nach ihnen gesucht. Ich hatte es jedoch nicht mit findstr versucht und es braucht auch eine Weile Mark Deven vor 5 Jahren 0

1 Antwort auf die Frage

1
Ben N

findstrunterstützt einige einfache reguläre Ausdrücke - siehe unten in der Ausgabe von findstr /?. Verwenden Sie, um eine beliebige Anzahl von Zeichen zu finden .*. Der Punkt stimmt mit jedem einzelnen Zeichen überein, und das Sternchen ermöglicht es, das vorherige Zeichen (in diesem Fall jedes Zeichen) beliebig oft zuzuordnen. Dies wird also alle Zeilen finden, die 09/und /2018dazwischen liegende Zeichen enthalten :

findstr "09/.*/2018" MYFILE.TXT 

Wenn Sie nur Zeilen finden möchten, bei denen die unbekannte Zeichenfolge genau zwei Zeichen lang ist (da Ihre Suchzeichenfolge ein Datum zu sein scheint), verwenden Sie einfach zwei Platzhalter für ein Zeichen:

findstr "09/../2018" MYFILE.TXT 
Ich habe Super User gesucht, bevor ich diese Antwort gepostet habe, und konnte auch keine direkte Antwort für Sie finden. Ben N vor 5 Jahren 1
Das funktioniert eigentlich nicht, es scheint, es funktioniert ohne das `. *` Beispiel: `findstr" 09 / / 2018 "` ... Ich verstehe findstr überhaupt nicht: D Mark Deven vor 5 Jahren 0
@ MarkDodsons Das ist interessant. Die Methode `. * 'scheint für mich zu funktionieren. Darf ich ein Beispiel für eine Zeile sehen, die nicht zum richtigen Zeitpunkt gefunden wurde? Ben N vor 5 Jahren 0
Ich habe es herausgefunden, es funktioniert nicht mit / C: Das war mein Problem Mark Deven vor 5 Jahren 0
@MarkDodsons - Es funktioniert mit `/ c: regexSearch`, wenn Sie auch die Option` / r` verwenden. `/ c:` verwendet standardmäßig die Literal-Suche, kann aber mit `/ r` überschrieben werden. dbenham vor 5 Jahren 0