2016-05-24 2 views
-3

Erstellen Sie einfach ein Batch-Skript. Ich habe eine Textdatei mit mehreren Zeilen. Sie müssen einen String pro Zeile suchen und, falls er gefunden wird, diese ganze Zeile in einer anderen Textdatei speichern. Alle Zeilen mit der Zeichenfolge werden in einer neuen Textdatei gespeichert.Suchzeichenfolge pro Zeile in einer Textdatei. Wenn gefunden, speichern Sie alle Zeilen in einer anderen Textdatei

Eingang:

abcdefgh 

ghabcdef 

; 

ghijklmno 

. 

defghabc 

Bevorzugte Ausgabe:

abcdefgh 

ghabcdef 

defghabc 

Dank!

+2

Fein ... und was ist Ihre Frage? "Ich brauche ..." ist keine Frage, sondern eine Aufgabenanfrage. Arbeiten Sie wirklich mit MS-DOS, dem Betriebssystem der 80er Jahre? – aschipfl

+0

Hallo Danke für das Interesse. Ich kann kein DOS-Skript erstellen, das eine bestimmte Zeichenfolge in einer Textdatei mit mehreren Zeilen durchsuchen kann. Das Skript muss jede Zeile durchsuchen. Wenn die Zeichenfolge gefunden wird, sollte diese bestimmte Zeile in eine andere Textdatei kopiert werden. Alle Zeilen mit der erforderlichen Zeichenfolge sollten in einer neuen Textdatei platziert werden. Ich hoffe, dass jemand in diesem Forum mir helfen kann, dieses Skript zu erstellen. Ich kann es in einer anderen Situation wie Segregation von gesuchten Zeichenfolge in verschiedene Textdateien verwenden. Danke, – mangyan

+1

Welches Betriebssystem benutzen Sie? –

Antwort

0

(von Ihrem Kommentar):

find "abc" myfile.txt >myfile.tmp 
FOR /F "skip=2 delims=" %%i in (myfile.tmp) do @echo %%i >> lsfile.txt 

Aber Sie brauchen nicht for und eine temporäre Datei. find schreibt keine Kopfzeile, wenn es STDIN analysiert. Um dies zu tun, können Sie:

type myfile.txt | find "abc" >lsfile.txt