Sat, 17 Dec 2011 17:08:33 +0000
Initial commit
0 | 1 | #!/usr/bin/env lua5.1 |
2 | ||
3 | local yaml = require "yaml"; | |
4 | ||
5 | local query = arg[1]; | |
6 | table.remove(arg, 1); | |
7 | ||
8 | local query, string_out = query:gsub("^=", ""); | |
9 | ||
10 | local query_func = assert(loadstring("return "..query)); | |
11 | ||
12 | if #arg == 0 then arg[1] = "-"; end | |
13 | ||
14 | for i, fn in ipairs(arg) do | |
15 | local f = io.stdin; | |
16 | if fn ~= "-" then | |
17 | f = assert(io.open(fn, "r")); | |
18 | end | |
19 | local yaml_doc = yaml.load(f:read("*a")); | |
20 | setfenv(query_func, yaml_doc); | |
21 | local result = query_func(); | |
22 | if string_out == 1 then | |
23 | print(result); | |
24 | else | |
25 | print(yaml.dump(result)); | |
26 | end | |
27 | f:close(); | |
28 | end | |
29 |