Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
################################################################
#
#	File:	  lslR2find2
#
#	Subject:  converts a ls-lR file to a "find"-like format
#
#	Author:	  Edrx
#
#	Date:	  
#
################################################################
#
#
#
# Libbables:
#
################################################################

$include "zinc.icn"

global li, dirnow, prefix, nofsize, fsl, fsr, fnl

# (find-fline "$DEBIAN/ls-lR")

procedure fsize(); return li[fsl:fsr]; end
procedure fname(); return li[fnl:0]; end

procedure processli()
  if li == "" then return
  if li[-1] == ":" then {
    dirnow := li[1:-1]
    prefix := dirnow || "/"
    prefix ? if (="./") then prefix := tab(0)
    return
  }
  li ? {
    if ="total " then
      return
    if ="-" then {
      write(fsize(), " ", prefix, fname())
      return
    }
    if ="l" then {
      write(nofsize, " ", prefix, fname())
      return
    }
    if ="d" then {
      if fname() == ("." | "..") then
	return
      write(nofsize, " ", prefix, fname(), "/")
      return
    }
    write(li)
  }
end

procedure main(args)
  fsl := integer(args[1] | 32)+1
  fsr := integer(args[2] | 41)+1
  fnl := integer(args[3] | 55)+1
  # extra := ((*args>0) & (integer(args[1])))
  nofsize := repl(" ", fsr-fsl)
  prefix := ""
  while li := read() do
    processli()
end