Tôi có một số dòng trong một tệp và tôi muốn sao chép mỗi dòng 11 lần (biến mỗi dòng thành 12 dòng) và tăng "1" cuối cùng trong mỗi dòng để 12 dòng có "1" đến " 12 ", trong đó" 1 "ban đầu là. Có thể có các lần xuất hiện khác của "1" trong mỗi dòng, nhưng "1" tôi muốn tăng sẽ luôn là lần xuất hiện cuối cùng trong mỗi dòng. Một cách khác để xem xét đó là "1" cuối cùng luôn nằm sau "/ nt /" - như trong "/ nt / 1" (và nó sẽ luôn là lần xuất hiện duy nhất của "/ nt / 1" trong mỗi dòng) .
Vì vậy, ví dụ, nếu tôi có:
1stlineblahblahblah/nt/1blah
2ndlineblahblahblah/nt/1blah
3rdlineblahblahblah/nt/1blah
Tôi muốn biến nó thành:
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
...
Trước đây tôi đã tìm thấy lệnh:
:for i in range(0,12) | put ='1stlineblahblahblah/nt/'.i.'blah' | endfor
hoạt động cho mục đích này, nhưng tôi sẽ phải tự chạy lệnh này cho từng dòng và tự nhập từng dòng vào (hoặc sao chép - và dán nó). Có cách nào để lấy các dòng đã có trong tệp và chỉ cần chạy một lệnh biến mỗi dòng thành mười hai, theo cách mà tôi đã mô tả?
Cảm ơn trước cho bất cứ ai có thể giúp tôi với điều này. Tôi cũng chỉ muốn lưu ý rằng đây là câu hỏi thứ hai của tôi ở đây, và tôi rất vui vì đã nhận được một số giải pháp nhanh chóng và hiệu quả cho câu hỏi đầu tiên của tôi, điều mà tôi rất biết ơn.