Необходимо извлечь информацию из HWInfo

Необходимо извлечь информацию из HWInfo

Мне нужно извлечь информацию, такую ​​как Serial и Product, из HWInfo. Прямо сейчас я попробовал hwinfo --bios | grep 'Serial:'и получил больше, чем мне нужно. Во-первых, мне нужна информация после фактического Serial: и я понятия не имею, как передать только ее. Вторая проблема в том, что при grepping 'Serial' я получаю 3 разных Serial, если я посмотрю на полную распечатку HWInfo, Serial, который мне действительно нужен, находится в подразделе System Info: #1, так есть ли способ grep Serial только под ним?

Спасибо

решение1

У меня был тот же вопрос, и я создал его в качестве первого шага:

#! /usr/bin/perl

use strict;
use warnings;

my $filename = 'hwinfo_example.txt';
open(my $fh, '<:encoding(UTF-8)', $filename)
  or die "Could not open file '$filename' $!";
while (my $row = <$fh>) {
    chomp $row;
    if( index($row, '  Chassis Info') eq 0 ){
        #print "$row\n";
        while (my $row = <$fh>){
            chomp $row;
            if( (length($row) < 5) or (substr($row, 2, 1) ne ' ') ){
                last ;
            }
            if( index($row, '    Serial:') eq 0 ){
                print "$row\n";
            }
        }
    }
}

Связанный контент