Bir dosyada birkaç satır var ve her satırı 11 kez kopyalamak istiyorum (her satırı 12 satıra çevirerek) ve her satırda son "1" 'i artırmak, böylece 12 satır "1" ile " 12 ", burada" 1 "başlangıçta idi. Her satırda başka "1" oluşumları olabilir, ancak artırmak istediğim "1" her satırdaki son olay olacaktır. Buna bakmanın bir başka yolu da, son "1" in "/ nt /" - her zaman "/ nt / 1" 'de olduğu gibi olmasıdır (ve her satırda daima "/ nt / 1" in tek oluşumu olacaktır) .
Yani, örneğin, eğer varsa:
1stlineblahblahblah/nt/1blah
2ndlineblahblahblah/nt/1blah
3rdlineblahblahblah/nt/1blah
Bunu dönüştürmek istiyorum:
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
...
Daha önce komutu bulmuştum:
:for i in range(0,12) | put ='1stlineblahblahblah/nt/'.i.'blah' | endfor
Bu amaçla çalışır, ancak her satır için bu komutu el ile çalıştırmak ve her satırı kendim yazmak (veya kopyalayıp yapıştırın) gerekir. Zaten dosyada bulunan satırları almanın ve açıkladığım şekilde her satırı on iki haline getiren bir komut çalıştırmanın bir yolu var mı?
Bu konuda bana yardımcı olabilecek herkese şimdiden teşekkürler. Ayrıca, buradaki ikinci sorum olduğunu da belirtmek istedim ve en çok minnettar olduğum ilk sorum için birkaç hızlı ve etkili çözüm elde etmekten memnun oldum.