我需要从 HWInfo 中提取诸如 Serial 和 Product 之类的信息。现在我尝试了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";
}
}
}
}