Finden Sie das Zeichen in der Zeile?

Finden Sie das Zeichen in der Zeile?

Ich versuche, mit „find“ oder „findstr“ bestimmte Zeichen in einer Datei zu finden, zum Beispiel Dateiinhalte wie:

"/test/abctest/abci.txt = c:\abctest\tst\work\workt.txt;ABC_test1"
"/test/abctest/abci.txt = c:\abctest\tst\work\workt.txt;ABC.test2"
"/test/abctest/abci.txt = c:\abctest\tst\work\workt.txt;(ABC)test3"
"/test/abctest/abci.txt = c:\abctest\tst\work\workt.txt;ABC_test4"

... und so weiter...
Ich möchte in der Datei das letzte „abc“ (fettgedruckter Teil) finden.
Diese Datei ist sehr groß, deshalb möchte ich keine „for“-Schleife verwenden, um ein Zeichen zu finden.
Können Sie mir bitte eine Lösung vorschlagen?

Antwort1

Wenn Sie ein Paket mit Unix-Tools wie Cygwin installieren möchten, können Sie den Befehl tac (das Gegenteil von „cat“) verwenden. Damit wird die Datei rückwärts gelesen/angezeigt. Anschließend können Sie das in findstr (oder grep) weiterleiten, um die letzte übereinstimmende Zeichenfolge aus der Datei abzurufen. Einige Versionen von tail unterstützen den Schalter -r, der auch die Zeilenreihenfolge in der Datei umkehrt.

Wenn das nicht klar ist, hinterlassen Sie mir einen Kommentar und ich werde es näher erläutern.

UPDATE: Unix-Tools können unter Windows verwendet werden, wenn Sie eines davon installieren:cygwin,unxutils,Kernel-Dienstprogramme. Folgen Sie diesen Links, um das eine oder andere zu installieren, und dann haben Sie, was Sie brauchen. Zu Ihrer Information: CygWin scheint am beliebtesten zu sein und ist das, was ich verwende.

verwandte Informationen