mirror of
https://github.com/nushell/nu_scripts.git
synced 2024-10-27 06:19:15 +03:00
0e6168bf7c
* Add parsers for cpuinfo and dmidecode * newlines --------- Co-authored-by: Yethal <nosuchemail@email.com>
37 lines
1.1 KiB
Plaintext
37 lines
1.1 KiB
Plaintext
# Convert from output of dmidecode to structured data
|
|
export def "from dmidecode" [] {
|
|
lines
|
|
| skip until {|x|
|
|
$x starts-with 'Handle'
|
|
}
|
|
| split list ''
|
|
| each {|entry|
|
|
let parsed_entry = (
|
|
$entry
|
|
| get 0
|
|
| parse 'Handle {handle}, DMI type {type}, {bytes} bytes'
|
|
| get 0
|
|
| insert description ($entry|get 1)
|
|
| insert values {
|
|
if ($entry|length) > 2 {
|
|
if ($entry|get 2|str trim) == 'Header and Data:' {
|
|
{'header_and_data': ($entry|skip 3|str trim)}
|
|
} else {
|
|
$entry
|
|
| skip 2
|
|
| split column ':'
|
|
| str trim
|
|
| str downcase column1
|
|
| str replace -a -s ' ' '_' column1
|
|
| transpose -r -d
|
|
}
|
|
} else {
|
|
{}
|
|
}
|
|
}
|
|
)
|
|
|
|
$parsed_entry
|
|
}
|
|
}
|