mirror of
https://github.com/nushell/nu_scripts.git
synced 2024-10-26 22:08:03 +03:00
13a73ab635
Hi! I reduced some of the errors in the daily CI. Still there are a few of them, but at least is something - Added the badge for the `daily.yml` (currently failing) - removed old `docker` from v0.60 - removed old `git` from auto-generate completions - removed `nethack` from auto-generate completions (wasn't very useful) - removed `root` from auto-generate completions (wasn't very useful) - removed `valgrind` from auto-generate completions (wasn't very useful) - moved `less` from auto-generate to custom-completions. - moved `mix` from auto-generate to custom-completions. - moved `tar` from auto-generate to custom-completions. - moved `tcpdump` from auto-generate to custom-completions. - moved `virsh` from auto-generate to custom-completions. - moved `zef` from auto-generate to custom-completions. - fixed `base16.nu` - fixed `from-cpuinfo.nu` - fixed `from-dmicode.nu` - fixed `to-number-format.nu` - fixed `to-json-schema.nu`
37 lines
1.0 KiB
Plaintext
37 lines
1.0 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 ' ' '_' column1
|
|
| transpose -r -d
|
|
}
|
|
} else {
|
|
{}
|
|
}
|
|
}
|
|
)
|
|
|
|
$parsed_entry
|
|
}
|
|
}
|