def parse_lsof(lsof_out) net_listener = Struct.new(:command, :pid, :user, :fd, :type, :device, :size, :node, :name, :status) output = [] # strip header line lsof_lines = lsof_out.split("\n")[1..-1] lsof_lines.each { |line| line_array = line.split("\s") listener_o = net_listener.new(*line_array) output.push("#{listener_o.command},#{listener_o.user},#{listener_o.type},#{listener_o.node},#{listener_o.name}") } return output.join(" ") end
Thursday, June 21, 2012
Ruby string manipulation: struct, split, join
Every time I write ruby it seems like I have to re-learn everything. To shortcut the process for next time here is a snippet that demonstrates some string handling by parsing the output of lsof (OS X format).
Ruby structs are the equivalent of python namedtuple, very handy for splitting up strings in a sane way.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment