Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Virsh list all in json: Difference between revisions

From John's Wiki
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
The following <code>bash</code> command will list all virsh guests in json.
The following <code>bash</code> command will list all virsh guests in json.


<syntaxhighlight lang="bash" line>
<syntaxhighlight lang="bash">
echo "[ $(virsh list --all|grep -Ev 'Id|----'|awk '{print "{ \"id\": \""$1"\", \"name\": \""$2"\", \"state\": \""$3 $4"\"}," }'|head -n -1) {} ]"|jq -r
echo "[ $(virsh list --all|grep -Ev 'Id|----'|awk '{print "{ \"id\": \""$1"\", \"name\": \""$2"\", \"state\": \""$3 $4"\"}," }'|head -n -1) {} ]"|jq -r
</syntaxhighlight>
</syntaxhighlight>
Line 26: Line 26:
...
...
</syntaxhighlight>
</syntaxhighlight>
# TODO: Come back and redo this using the <code>columns</code> utility.
https://www.youtube.com/watch?v=uL7KvRskeog

Latest revision as of 18:44, 16 January 2025

The following bash command will list all virsh guests in json.

echo "[ $(virsh list --all|grep -Ev 'Id|----'|awk '{print "{ \"id\": \""$1"\", \"name\": \""$2"\", \"state\": \""$3 $4"\"}," }'|head -n -1) {} ]"|jq -r

Output example:

[
  {
    "id": "38",
    "name": "Mac",
    "state": "running"
  },
  {
    "id": "39",
    "name": "Dennis",
    "state": "running"
  },
  {
    "id": "40",
    "name": "Charlie",
    "state": "running"
  },
...
  1. TODO: Come back and redo this using the columns utility.

https://www.youtube.com/watch?v=uL7KvRskeog