1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-17 00:07:37 +02:00
Files
jc/docs/parsers/lsblk.md

320 lines
6.3 KiB
Markdown
Raw Normal View History

[Home](https://kellyjonbrazil.github.io/jc/)
2022-01-25 17:07:47 -08:00
<a id="jc.parsers.lsblk"></a>
2020-07-30 16:20:24 -07:00
2019-11-11 18:30:46 -08:00
# jc.parsers.lsblk
2022-01-25 17:07:47 -08:00
2020-08-05 16:51:58 -07:00
jc - JSON CLI output utility `lsblk` command output parser
2019-11-11 18:30:46 -08:00
2020-08-05 13:32:59 -07:00
Usage (cli):
2019-12-12 09:47:14 -08:00
2022-01-25 17:07:47 -08:00
$ lsblk | jc --lsblk
2020-08-05 16:51:58 -07:00
2022-01-25 17:07:47 -08:00
or
2020-08-05 16:51:58 -07:00
2022-01-25 17:07:47 -08:00
$ jc lsblk
2019-11-11 18:30:46 -08:00
2020-08-05 13:32:59 -07:00
Usage (module):
2022-01-25 17:07:47 -08:00
import jc
result = jc.parse('lsblk', lsblk_command_output)
2022-01-18 15:38:03 -08:00
2022-01-25 17:07:47 -08:00
or
2022-01-18 15:38:03 -08:00
2022-01-25 17:07:47 -08:00
import jc.parsers.lsblk
result = jc.parsers.lsblk.parse(lsblk_command_output)
2020-08-05 13:32:59 -07:00
2021-04-08 15:52:49 -07:00
Schema:
2022-01-25 17:07:47 -08:00
[
{
"name": string,
"maj_min": string,
"rm": boolean,
"size": string,
"ro": boolean,
"type": string,
"mountpoint": string,
"kname": string,
"fstype": string,
"label": string,
"uuid": string,
"partlabel": string,
"partuuid": string,
"ra": integer,
"model": string,
"serial": string,
"state": string,
"owner": string,
"group": string,
"mode": string,
"alignment": integer,
"min_io": integer,
"opt_io": integer,
"phy_sec": integer,
"log_sec": integer,
"rota": boolean,
"sched": string,
"rq_size": integer,
"disc_aln": integer,
"disc_gran": string,
"disc_max": string,
"disc_zero": boolean,
"wsame": string,
"wwn": string,
"rand": boolean,
"pkname": string,
"hctl": string,
"tran": string,
"rev": string,
"vendor": string
}
]
2019-11-11 18:30:46 -08:00
2022-01-25 17:07:47 -08:00
**Examples**:
2019-11-11 18:30:46 -08:00
2022-01-25 17:07:47 -08:00
$ lsblk | jc --lsblk -p
[
{
- `"name"` - "sda",
- `"maj_min"` - "8:0",
- `"rm"` - false,
- `"size"` - "20G",
- `"ro"` - false,
- `"type"` - "disk",
- `"mountpoint"` - null
},
{
- `"name"` - "sda1",
- `"maj_min"` - "8:1",
- `"rm"` - false,
- `"size"` - "1G",
- `"ro"` - false,
- `"type"` - "part",
- `"mountpoint"` - "/boot"
},
...
]
$ lsblk -o +KNAME,FSTYPE,LABEL,UUID,PARTLABEL,PARTUUID,RA,MODEL,SERIAL,\\
STATE,OWNER,GROUP,MODE,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,\\
SCHED,RQ-SIZE,DISC-ALN,DISC-GRAN,DISC-MAX,DISC-ZERO,WSAME,WWN,RAND,\\
PKNAME,HCTL,TRAN,REV,VENDOR | jc --lsblk -p
[
{
- `"name"` - "sda",
- `"maj_min"` - "8:0",
- `"rm"` - false,
- `"size"` - "20G",
- `"ro"` - false,
- `"type"` - "disk",
- `"mountpoint"` - null,
- `"kname"` - "sda",
- `"fstype"` - null,
- `"label"` - null,
- `"uuid"` - null,
- `"partlabel"` - null,
- `"partuuid"` - null,
- `"ra"` - 4096,
- `"model"` - "VMware Virtual S",
- `"serial"` - null,
- `"state"` - "running",
- `"owner"` - "root",
- `"group"` - "disk",
- `"mode"` - "brw-rw----",
- `"alignment"` - 0,
- `"min_io"` - 512,
- `"opt_io"` - 0,
- `"phy_sec"` - 512,
- `"log_sec"` - 512,
- `"rota"` - true,
- `"sched"` - "deadline",
- `"rq_size"` - 128,
- `"disc_aln"` - 0,
- `"disc_gran"` - "0B",
- `"disc_max"` - "0B",
- `"disc_zero"` - false,
- `"wsame"` - "32M",
- `"wwn"` - null,
- `"rand"` - true,
- `"pkname"` - null,
- `"hctl"` - "0:0:0:0",
- `"tran"` - "spi",
- `"rev"` - "1.0",
- `"vendor"` - "VMware,"
},
{
- `"name"` - "sda1",
- `"maj_min"` - "8:1",
- `"rm"` - false,
- `"size"` - "1G",
- `"ro"` - false,
- `"type"` - "part",
- `"mountpoint"` - "/boot",
- `"kname"` - "sda1",
- `"fstype"` - "xfs",
- `"label"` - null,
- `"uuid"` - "05d927bb-5875-49e3-ada1-7f46cb31c932",
- `"partlabel"` - null,
- `"partuuid"` - null,
- `"ra"` - 4096,
- `"model"` - null,
- `"serial"` - null,
- `"state"` - null,
- `"owner"` - "root",
- `"group"` - "disk",
- `"mode"` - "brw-rw----",
- `"alignment"` - 0,
- `"min_io"` - 512,
- `"opt_io"` - 0,
- `"phy_sec"` - 512,
- `"log_sec"` - 512,
- `"rota"` - true,
- `"sched"` - "deadline",
- `"rq_size"` - 128,
- `"disc_aln"` - 0,
- `"disc_gran"` - "0B",
- `"disc_max"` - "0B",
- `"disc_zero"` - false,
- `"wsame"` - "32M",
- `"wwn"` - null,
- `"rand"` - true,
- `"pkname"` - "sda",
- `"hctl"` - null,
- `"tran"` - null,
- `"rev"` - null,
- `"vendor"` - null
},
...
]
$ lsblk -o +KNAME,FSTYPE,LABEL,UUID,PARTLABEL,PARTUUID,RA,MODEL,SERIAL,\\
STATE,OWNER,GROUP,MODE,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,\\
SCHED,RQ-SIZE,DISC-ALN,DISC-GRAN,DISC-MAX,DISC-ZERO,WSAME,WWN,RAND,\\
PKNAME,HCTL,TRAN,REV,VENDOR | jc --lsblk -p -r
[
{
- `"name"` - "sda",
- `"maj_min"` - "8:0",
- `"rm"` - "0",
- `"size"` - "20G",
- `"ro"` - "0",
- `"type"` - "disk",
- `"mountpoint"` - null,
- `"kname"` - "sda",
- `"fstype"` - null,
- `"label"` - null,
- `"uuid"` - null,
- `"partlabel"` - null,
- `"partuuid"` - null,
- `"ra"` - "4096",
- `"model"` - "VMware Virtual S",
- `"serial"` - null,
- `"state"` - "running",
- `"owner"` - "root",
- `"group"` - "disk",
- `"mode"` - "brw-rw----",
- `"alignment"` - "0",
- `"min_io"` - "512",
- `"opt_io"` - "0",
- `"phy_sec"` - "512",
- `"log_sec"` - "512",
- `"rota"` - "1",
- `"sched"` - "deadline",
- `"rq_size"` - "128",
- `"disc_aln"` - "0",
- `"disc_gran"` - "0B",
- `"disc_max"` - "0B",
- `"disc_zero"` - "0",
- `"wsame"` - "32M",
- `"wwn"` - null,
- `"rand"` - "1",
- `"pkname"` - null,
- `"hctl"` - "0:0:0:0",
- `"tran"` - "spi",
- `"rev"` - "1.0",
- `"vendor"` - "VMware,"
},
{
- `"name"` - "sda1",
- `"maj_min"` - "8:1",
- `"rm"` - "0",
- `"size"` - "1G",
- `"ro"` - "0",
- `"type"` - "part",
- `"mountpoint"` - "/boot",
- `"kname"` - "sda1",
- `"fstype"` - "xfs",
- `"label"` - null,
- `"uuid"` - "05d927bb-5875-49e3-ada1-7f46cb31c932",
- `"partlabel"` - null,
- `"partuuid"` - null,
- `"ra"` - "4096",
- `"model"` - null,
- `"serial"` - null,
- `"state"` - null,
- `"owner"` - "root",
- `"group"` - "disk",
- `"mode"` - "brw-rw----",
- `"alignment"` - "0",
- `"min_io"` - "512",
- `"opt_io"` - "0",
- `"phy_sec"` - "512",
- `"log_sec"` - "512",
- `"rota"` - "1",
- `"sched"` - "deadline",
- `"rq_size"` - "128",
- `"disc_aln"` - "0",
- `"disc_gran"` - "0B",
- `"disc_max"` - "0B",
- `"disc_zero"` - "0",
- `"wsame"` - "32M",
- `"wwn"` - null,
- `"rand"` - "1",
- `"pkname"` - "sda",
- `"hctl"` - null,
- `"tran"` - null,
- `"rev"` - null,
- `"vendor"` - null
},
...
]
2019-11-11 18:30:46 -08:00
2022-01-25 17:07:47 -08:00
<a id="jc.parsers.lsblk.info"></a>
2019-11-11 18:30:46 -08:00
2022-01-25 17:07:47 -08:00
## info Objects
2020-07-30 16:20:24 -07:00
2019-12-14 23:35:42 -08:00
```python
2022-01-25 17:07:47 -08:00
class info()
2019-12-14 23:35:42 -08:00
```
2022-01-25 17:07:47 -08:00
2021-04-08 15:52:49 -07:00
Provides parser metadata (version, author, etc.)
2020-07-30 16:20:24 -07:00
2022-01-25 17:07:47 -08:00
<a id="jc.parsers.lsblk.parse"></a>
#### parse
2019-11-11 18:30:46 -08:00
```python
2022-01-25 17:07:47 -08:00
def parse(data, raw=False, quiet=False)
2019-11-11 18:30:46 -08:00
```
2019-11-12 11:18:00 -08:00
Main text parsing function
2019-11-11 18:30:46 -08:00
2022-01-25 17:07:47 -08:00
**Arguments**:
2019-11-11 18:30:46 -08:00
2022-01-25 17:07:47 -08:00
- `data` - (string) text data to parse
- `raw` - (boolean) unprocessed output if True
- `quiet` - (boolean) suppress warning messages if True
2019-11-12 11:18:00 -08:00
2022-01-25 17:07:47 -08:00
**Returns**:
2019-11-12 11:18:00 -08:00
2022-01-25 17:07:47 -08:00
List of Dictionaries. Raw or processed structured data.
2019-11-11 18:30:46 -08:00
## Parser Information
Compatibility: linux
2021-12-01 16:12:51 -08:00
Version 1.8 by Kelly Brazil (kellyjonbrazil@gmail.com)