Ich habe eine Textdatei filter.tmp enthält zwei Arten von Linien zu filtern, zeigt dies den Unterschied:Filtering Datei reg exp und verketten bestimmte Linien zusammen (Eingabeaufforderung)
findstr /r "^[0-9][0-9]*.*$" filter.tmp > filter-numbers.tmp
findstr /r "^[^0-9][^0-9]*.*$" filter.tmp > filter-text.tmp
Was muss ich sie wird Zeilen anhängen Text zusammen wie diese enthält, und wenn die Zeilennummer enthält nur ihn zu Ausgabedatei:
IF "current line" contains text THEN
previous line = concatenate "previous line" + "/" + "current line"
ELSE
echo "previous line" >> filter.out
echo "current line" >> filter.out
filter.tmp enthält so etwas wie:
Hello
World
Foo
Bar
45: this is some line
Trouble
with code
66: another line
filter.out sollte wie folgt aussehen:
Hello/World/Foo/Bar
45: this is some line
Trouble/with code
66: another line
Mir ist klar, dies ist sehr einfach, aber ich kann es einfach nicht funktioniert. Wenn ich darüber nachdenke, wäre es viel einfacher, C++ zu verwenden.
Warum nicht C++ verwenden, dann? –
Ich denke, dass eine C++ - Lösung komplexer als die Batch-Datei sein kann. Es könnte jedoch einfacher zu verstehen sein. – Joey
Bali C, ich wollte, aber es war keine IDE auf der Arbeitsstation installiert und ich hatte nur begrenzte Benutzerrechte, so konnte ich keine installieren – rluks