• 4 Posts
  • 71 Comments
Joined 3 years ago
cake
Cake day: June 19th, 2023

help-circle



















  • bleistift2@feddit.detoProgrammer Humor@lemmy.ml❤️🅱️
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    edit-2
    2 years ago

    What you’re showing here is an extra processing step, but I wouldn’t call that manual.

    Yes, it’s not manual by the dictionary definition, but it is an extra step. This is another meaning of manual in my particular bubble [Edit: that I didn’t think to specify].

    But a much better idea would be to use sensors -j to get json output, intended for machine reading, and pass that to jq.

    This is my initial point, exactly. Dealing with objects is way easier than using the ‘default’ line-wise processing. Only Powershell made that the default, while in Linux you need to hope that utilities have an option to toggle it on – and then also have jq installed to process the objects.

    I look forward to seeing how you would do this in PS. As I said previously, I don’t know it at all, so I’m not sure what you’re comparing this to.

    [Edit, since I forgot to answer your main point:] I don’t program in PS. I don’t like the verbosity. But I do think MS has a point in pushing objects as the prime unit in processing instead of lines.


  • For instance: Get the temperature of the “Composite” sensor from this output:

    $ sensors
    k10temp-pci-00c3
    Adapter: PCI adapter
    Tctl:         +37.1°C  
    
    BAT1-acpi-0
    Adapter: ACPI interface
    in0:          16.07 V  
    curr1:         1.80 A  
    
    amdgpu-pci-0500
    Adapter: PCI adapter
    vddgfx:        1.46 V  
    vddnb:       918.00 mV 
    edge:         +35.0°C  
    slowPPT:     1000.00 uW 
    
    nvme-pci-0200
    Adapter: PCI adapter
    Composite:    +28.9°C  (low  =  -5.2°C, high = +79.8°C)
                           (crit = +84.8°C)
    
    acpitz-acpi-0
    Adapter: ACPI interface
    temp1:        +37.0°C  (crit = +120.0°C)
    

    Without a cryptic awk incantation that only wizards can understand, that would be:

    sensors | grep Composite | grep -Po 'Composite:.*?C' | grep -Eo '[[:digit:]]{1,2}\.[[:digit:]]'