Ich habe eine Anzahl von Zeilen in einer Datei, und ich möchte jede Zeile 11 Mal kopieren (jede Zeile in 12 Zeilen umwandeln) und die letzte "1" in jeder Zeile erhöhen, sodass die 12 Zeilen "1" bis "haben". 12 ", wo die" 1 "ursprünglich war. Es kann andere Vorkommen von "1" in jeder Zeile geben, aber die "1", die ich erhöhen möchte, ist immer das letzte Vorkommen in jeder Zeile. Eine andere Sichtweise ist, dass die letzte "1" immer nach "/ nt /" steht - wie in "/ nt / 1" (und es wird immer das einzige Vorkommen von "/ nt / 1" in jeder Zeile sein) .
Also zum Beispiel, wenn ich habe:
1stlineblahblahblah/nt/1blah
2ndlineblahblahblah/nt/1blah
3rdlineblahblahblah/nt/1blah
Ich möchte daraus machen:
1stlineblahblahblah/nt/1blah
1stlineblahblahblah/nt/2blah
1stlineblahblahblah/nt/3blah
1stlineblahblahblah/nt/4blah
1stlineblahblahblah/nt/5blah
1stlineblahblahblah/nt/6blah
1stlineblahblahblah/nt/7blah
1stlineblahblahblah/nt/8blah
1stlineblahblahblah/nt/9blah
1stlineblahblahblah/nt/10blah
1stlineblahblahblah/nt/11blah
1stlineblahblahblah/nt/12blah
2ndlineblahblahblah/nt/1blah
2ndlineblahblahblah/nt/2blah
2ndlineblahblahblah/nt/3blah
...
Ich hatte zuvor den Befehl gefunden:
:for i in range(0,12) | put ='1stlineblahblahblah/nt/'.i.'blah' | endfor
funktioniert für diesen Zweck, aber ich müsste diesen Befehl für jede Zeile manuell ausführen und jede Zeile selbst eingeben (oder kopieren und einfügen). Gibt es eine Möglichkeit, die bereits in der Datei enthaltenen Zeilen zu übernehmen und nur einen Befehl auszuführen, der jede Zeile in die von mir beschriebene Weise in zwölf Zeilen umwandelt?
Vielen Dank im Voraus an alle, die mir dabei helfen können. Ich wollte auch nur erwähnen, dass dies meine zweite Frage hier ist, und ich war erfreut, mehrere schnelle und effektive Lösungen für meine erste Frage erhalten zu haben, für die ich sehr dankbar war.