HWInfoから情報を抽出する必要がある

HWInfoから情報を抽出する必要がある

HWInfo からシリアルや製品などの情報を抽出する必要があります。今試してみたところhwinfo --bios | grep 'Serial:'、必要なものは以上です。まず、実際のシリアルの後の情報を取り出したいのですが、その情報だけをパイプする方法がわかりません。2 番目の問題は、「シリアル」を grep すると 3 つの異なるシリアルが取得されることです。HWInfo の完全な出力を見ると、実際に必要なシリアルは System Info: #1 のサブセクションにあります。その下のシリアルだけを grep する方法はありますか?

ありがとう

答え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";
            }
        }
    }
}

関連情報