Ho un numero di righe in un file e vorrei copiare ogni riga 11 volte (trasformando ogni riga in 12 righe) e incrementare l'ultimo "1" in ogni riga in modo che le 12 righe abbiano "1" attraverso " 12 ", dove inizialmente era" 1 ". Potrebbero esserci altre occorrenze di "1" in ciascuna riga, ma "1" che voglio incrementare sarà sempre l'ultima occorrenza in ciascuna riga. Un altro modo di vederlo è che l'ultimo "1" è sempre dopo "/ nt /" - come in "/ nt / 1" (e sarà sempre l'unica occorrenza di "/ nt / 1" in ogni riga) .
Quindi, ad esempio, se ho:
1stlineblahblahblah/nt/1blah
2ndlineblahblahblah/nt/1blah
3rdlineblahblahblah/nt/1blah
Voglio trasformarlo in:
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
...
In precedenza avevo trovato il comando:
:for i in range(0,12) | put ='1stlineblahblahblah/nt/'.i.'blah' | endfor
funziona a questo scopo, ma dovrei eseguire manualmente questo comando per ogni riga e digitare ogni riga (o copiarlo e incollarlo) da solo. C'è un modo per prendere le linee che sono già nel file ed eseguire solo un comando che trasforma ogni linea in dodici, nel modo che ho descritto?
Grazie in anticipo a chiunque mi possa aiutare in questo. Volevo anche notare che questa è la mia seconda domanda qui, e sono stato contento di aver ottenuto diverse soluzioni rapide ed efficaci alla mia prima domanda, di cui sono stato molto grato.