While the text looks the same in both instances, it could have non-printable 
characters or terminal command chars that you can't normally see. On Linux you 
can use cli tools like `od` to inspect output in detail, e.g.:
    
    
    $ nim r program.nim | od -a
    0000000  nl   C   o   n   t   e   n   t   -   D   i   s   p   o   s   i
    0000020   t   i   o   n   :  sp   f   o   r   m   -   d   a   t   a   ;
    0000040  sp   n   a   m   e   =   "   f   i   l   e   1   "   ;  sp   f
    0000060   i   l   e   n   a   m   e   =   "   p   r   i   c   e   _   l
    0000100   i   s   t   .   t   x   t   "  nl   C   o   n   t   e   n   t
    0000120   -   T   y   p   e   :  sp   t   e   x   t   /   p   l   a   i
    0000140   n  nl  nl   $   2   5  sp   (   5   t   h  sp   l   i   n   e
    0000160  sp   o   f  sp   v   a   r   C   h   u   n   k   )
    
    
    Run

Or, if you're absolutely sure input data uses 'n' for line separation, you can 
just count newlines and remove enough chars from beginning using 
`strutils.delete`:
    
    
    import std/strutils
    
    proc removePrefixLines(s: var string, n: Positive) =
      var ind, lines = 0
      while lines < n:
        if s[ind] == '\n': inc lines
        inc ind
      s.delete(0..ind-1)
    
    varChunk.removePrefixLines(4)
    echo varChunk
    
    
    Run

Reply via email to