import os import sys import json import subprocess print(json.dumps(dict([(c, subprocess.getoutput(c).split('\n')) for c in sys.argv[1:]])))
コマンド結果をひたすらjsonへするコマンド。ワンライナーでできなかったので仕方なくpythonで実装。
$ python3 a.py ls uname df | jq .
{ "ls": [ "LICENSE", "Makefile", "README.md", "a.py", "linux", "mac", "windows" ], "uname": [ "Darwin" ], "df": [ "Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on", "/dev/disk1s1 489620264 319987840 164077960 67% 2256501 9223372036852519306 0% /", "devfs 666 666 0 100% 1152 0 100% /dev", "/dev/disk1s4 489620264 4194392 164077960 3% 2 9223372036854775805 0% /private/var/vm", "map -hosts 0 0 0 100% 0 0 100% /net", "map auto_home 0 0 0 100% 0 0 100% /home" ] }
ワンライナーでやりたかったけどjq力が足りずに失敗。。。