Warning: this is an htmlized version!
The original is across this link,
and the conversion rules are here.
#!/usr/bin/env lua5.1
-- Several utilities.

-- «.inet_addr»		(to "inet_addr")
-- «.cleanindex»	(to "cleanindex")
-- «.date_to_yyyymmmdd»	(to "date_to_yyyymmmdd")
-- «.run»		(to "run")



-- «inet_addr»  (to ".inet_addr")
-- (find-angg ".emacs" "inet-addr")
-- (find-sh  "/sbin/ifconfig")
-- (find-sh  "/sbin/ifconfig" "wlan0" "inet addr:")
-- (find-sh  "/sbin/ifconfig   wlan0")
-- (find-sh0 "/sbin/ifconfig         | etc.lua inet_addr")
-- (find-sh0 "/sbin/ifconfig   wlan0 | etc.lua inet_addr")
--
inet_addr_ = function (str)
    local m = str:match("inet addr:([0-9.]+)")
    if m then print(m) end
  end
inet_addr = function () for li in io.lines() do inet_addr_(li) end end


--[[
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "etc.lua"
inet_addr_("belp inet addr:1.2.3.4 foo bar")
--]]



-- «cleanindex»  (to ".cleanindex")
-- (find-angg ".emacs" "cleanindex")
rmdots_ = function (li) return (li:gsub(" . ", " ")) end
rmdots  = function (li)
    for i=1,10 do li = rmdots_(li) end
    return li
  end
cleanindexline = function (li)
    li = rmdots(li)
    li = li:gsub(" +", " ")
    li = li:gsub("^ +", "")
    li = li:gsub(" +$", "")
    return li
  end
cleanindexline2 = function (li)
    local left, page = li:match("^ *(.-) +([0-9]+)$")
    if page then
      return format(";; (find-%spage (+ %s %s) %q)", stem, offset, page, left)
    end
  end
cleanindexline3 = function (li)
    return cleanindexline2(li) or ";; "..li
  end
stem   = stem   or "{stem}"
offset = offset or "{offset}"
maplines = function (f, bigstr)
    return (bigstr:gsub("[\f\t]", " "):gsub("([^\n]+)", f))
  end
cleanindex = function (_stem, _offset)
    stem, offset = _stem or "{stem}", _offset or "{offset}"
    io.write(maplines(cleanindexline3, io.read("*a")))
  end


-- «date_to_yyyymmmdd» (to ".date_to_yyyymmmdd")
-- (find-sh0 "etc.lua date_to_yyyymmmdd 120345a")
date_to_yyyymmmdd = function (str)
    local yy, mm, dd = str:match("^(..)(..)(..)")
    local months = split "jan feb mar apr may jun jul aug sep oct nov dec"
    print("20"..yy .. months[mm+0] .. dd)
  end


-- «run»  (to ".run")
runetc = function (prog, ...)
   -- if prog then PP(prog, {...}) end
   if prog then _G[prog](...) end
  end
runetc(...)


-- Local Variables:
-- coding:               raw-text-unix
-- End: