command-line
memory
debian
shell
Ed S
fuente
fuente


--out-jsonparámetro. Entonces tendrá que hacer esto manualmente. Aquí hay una respuesta que debería ayudarlo en su camino para formatear la salida a Json askubuntu.com/questions/272535/…xmllintcomo parte de libxml2-utils que puede ser de alguna ayuda para usted. ¿Ha considerado usar otro idioma que tenga bibliotecas para el soporte de Json / XML para hacer esto? Como perl o pythonRespuestas:
¿Cómo puedo (simplemente) envolver esta salida en XML / JSON?
Asumiendo que no quieren etiquetas individuales para
total,used,freesharedetc, se puede envolver toda la producción en las etiquetas que encierran, en su caso:XML
El siguiente script podría guardarse como (por ejemplo)
memoryinfo-xml.sh:salida de ejemplo:
Como puede ver, ¡no es exactamente bonito!
JSON
Muy similar a antes, guardar como (por ejemplo)
memoryinfo-json.sh:#! / bin / bash # memoryinfo-json.sh - salida de ajuste de free + vmstat en json # gracias a https://stackoverflow.com/a/1252191 por \ n reemplazo echo "{\" salida \ ":" echo -e "\ t {\" fecha \ ": \" $ (fecha) \ "," echo -e "\ t \" free \ ": \" $ (free | sed ': a; N; $! ba; s / \ n / || / g') \ "," echo -e "\ t \" vmstat \ ": \" $ (vmstat | sed ': a; N; $! ba; s / \ n / || / g') \ "" eco "}"salida de ejemplo:
{ "salida": { "date": "jue 30 mar 16: 48: 51 BST 2017", "free": "total de buffers compartidos gratuitos usados en caché || Mem: 3853532 3722428 131104 100868 227888 3024844 || - / + buffers / caché: 469696 3383836 || Swap: 1182716 2512 1180204", "vmstat": "procs-- - - - - - memory-- - - - - - - swap-- - - - io-- - - system-- - - --cpu-- - - || rb swpd free buff cache si so bi bo in cs us sy id wa st || 1 0 2512 131096 227888 3024844 0 0 3 2 4 4 1 0 99 0 0 " } }Tenga en cuenta que para obtener un JSON válido , las nuevas líneas se han reemplazado por un carácter de doble canalización (
||), a través delsedreemplazo .fuente
date\ n \ nfree\ n \ nvmstat\ n" >> output.txt