У мене є декілька рядків у файлі, і я хотів би скопіювати кожен рядок 11 разів (перетворивши кожен рядок на 12 рядків) і збільшивши останній "1" у кожному рядку, щоб 12 рядків мали "1" через " 12 ", де спочатку було" 1 ". У кожному рядку можуть бути й інші події "1", але "1", який я хочу збільшити, завжди буде останнім явищем у кожному рядку. Ще один спосіб поглянути на це, що останній "1" завжди є після "/ nt /" - як у "/ nt / 1" (і це завжди буде єдиним випадком "/ nt / 1" у кожному рядку) .
Наприклад, якщо я маю:
1stlineblahblahblah/nt/1blah
2ndlineblahblahblah/nt/1blah
3rdlineblahblahblah/nt/1blah
Я хочу перетворити це на:
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
...
Я раніше знайшов команду:
:for i in range(0,12) | put ='1stlineblahblahblah/nt/'.i.'blah' | endfor
працює для цієї мети, але мені доведеться вручну запустити цю команду для кожного рядка і ввести кожний рядок (або скопіювати і вставити). Чи є спосіб взяти рядки, які вже є у файлі, і просто запустити одну команду, яка перетворює кожний рядок у дванадцять, таким чином, як я описав?
Заздалегідь дякую всім, хто може мені у цьому допомогти. Я також просто хотів зазначити, що це моє друге питання тут, і мені було приємно, що я отримав кілька швидких та ефективних рішень свого першого питання, за що я був дуже вдячний.