editor - insert numerical sequence in large text file -


i need create file in format :

item0000001 item0000002 item0000003 item0000004 item0000005 

i doing ultraedit has column mode including insert number ( start + increment including leading zeros ).

unfortunately, ultraedit bombs out above 1 million rows.

does know of text editor large file capacity has similar operation?

baltostar has not written version of ultraedit used , how has tried create file.

however, here ultraedit script can used create file lines containing incrementing number leading zeros according last number.

to use script ultraedit v14.20 or uestudio v9.00 or later version, copy code block of script , paste new ascii file dos line terminations in ultraedit/uestudio. save file example createlineswithincrementingnumber.js preferred directory of ue/ues scripts.

now run script clicking on menu item run active script in menu scripting.

the script prompts user first , last value of incrementing number, , strings left , right of incrementing number can both empty strings.

then lean , see how script writes lines incrementing number new file in blocks. created file more 150 mb incrementing number 0 5.000.000 within few seconds using ultraedit script.

if (typeof(ultraedit.clipboardcontent) == "string") {    // write in blocks of not more 4 mb file. not increase    // value during script execution more free    // ram in continous block necessary value used here    // joining lines in user clipboard 9. large value results    // in memory exception during script execution , user of    // script not see several seconds going on.    var nblocksize = 4194304;     // create new file , make sure uses dos/windows line terminations    // independent on user configuration line endings of new files.    ultraedit.newfile();    ultraedit.activedocument.unixmactodos();    var slineterm = "\r\n";    // type of line termination dos/windows.     // ask user of script first value write file.       {       var nfirstnumber = ultraedit.getvalue("please enter first value of incrementing number:",1);       if (nfirstnumber < 0)       {          ultraedit.messagebox("sorry, first value cannot negative.");       }    }    while (nfirstnumber < 0);     // ask user of script last value write file.       {       var nlastnumber = ultraedit.getvalue("please enter last value of incrementing number:",1);       if (nfirstnumber >= nlastnumber)       {          ultraedit.messagebox("sorry, last value must greater "+nfirstnumber.tostring(10)+".");       }    }    while (nfirstnumber >= nlastnumber);     var sbeforenumber = ultraedit.getstring("please enter string left of incrementing number:",1);    var safternumber = ultraedit.getstring("please enter string right of incrementing number:",1);     // http://stackoverflow.com/questions/16378849/ultraedit-how-do-i-pad-out-a-string-with-leading-blanks    // convert highest number decimal string , copy    // of string every character replaced character '0'.    // last number being 39428 created string "00000".    var sleadingzeros = nlastnumber.tostring(10).replace(/./g,"0");     // instead of writing string incrementing number line    // line file slow , create    // lots of undo records, lines collected first in array of    // strings whereby number of strings in array determined    // value of variable nblocksize. lines in array    // concatenated user clipboard 9 , written block    // file using paste command. faster , produces    // few undo records on large files.    ultraedit.selectclipboard(9);    ultraedit.clearclipboard();     // calculate number of lines per block depends on    // lengths of 4 strings build line in file.    var nlinelength = sbeforenumber.length + sleadingzeros.length +                      safternumber.length + slineterm.length;    var nremainder = nblocksize % nlinelength;    var nlinesperblock = (nblocksize - nremainder) / nlinelength;     var aslines = [];    var ncurrentnumber = nfirstnumber;     while (nlastnumber >= ncurrentnumber)    {       // convert integer number decimal string.       var snumber = ncurrentnumber.tostring(10);       // has decimal string of current number less       // characters decimal string of last number?       if (snumber.length < sleadingzeros.length)       {          // build decimal string new x zeros alignment string          // , concatenate leading 0 string number string.          snumber = sleadingzeros.substr(0,sleadingzeros.length-snumber.length) + snumber;       }       aslines.push(sbeforenumber + snumber + safternumber);       if (aslines.length >= nlinesperblock)       {          aslines.push(""); // results in line termination @ block end.          ultraedit.clipboardcontent = aslines.join(slineterm);          ultraedit.activedocument.paste();          ultraedit.clearclipboard();          aslines = [];       }       ncurrentnumber++;    }    // output last block.    if (aslines.length)    {       aslines.push("");       ultraedit.clipboardcontent = aslines.join(slineterm);       ultraedit.activedocument.paste();       ultraedit.clearclipboard();    }    // reselect system clipboard , move caret top of new file.    ultraedit.selectclipboard(0);    ultraedit.activedocument.top(); } else if(ultraedit.messagebox) {    ultraedit.messagebox("sorry, need newer version of ultraedit/uestudio script."); } else {    ultraedit.newfile();    ultraedit.activedocument.write("sorry, need newer version of ultraedit/uestudio script."); } 

Comments

Popular posts from this blog

ios - UICollectionView Self Sizing Cells with Auto Layout -

node.js - ldapjs - write after end error -

DOM Manipulation in Wordpress (and elsewhere) using php -