
Мне нужно извлечь информацию, такую как 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";
}
}
}
}