**OderWat** Thank you, everything was actually easier than I thought. In 
MemFiles have stringify operator **$** for type MemSclise. What is interesting, 
with **lines** iterator code works somehow faster than code with iterator 
**memSlices**. Why?

Works 4 seconds for a file in rows 3_000_000 
    
    
    pattern = ARGS[1]
    rex = pattern.re
    for line in fMem.lines:
      countLine+=1
      if line.match(rex).isSome:
        countRepl+=1
        fOut.writeLine(line.replace(rex, ARGS[2]))
      else: fOut.writeLine(line)
    # end for
    

Works 4.8 seconds for a file in rows 3_000_000 
    
    
    pattern = ARGS[1]
    rex = pattern.re
    for slice in fMem.memSlices:
      if slice.size > 0:
        countLine+=1
        line = $slice
        if line.match(rex).isSome:
          countRepl+=1
          fOut.writeLine(line.replace(rex, ARGS[2]))
        else:
          fOut.writeLine(line)
    # end for
    

Reply via email to