⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gen-zone

📁 linux下的pci设备浏览工具
💻
字号:
#!/usr/bin/perl -w# Create a DNS zone with PCI ID recordsuse strict;my %ids = ();my %comments = ();foreach our $file (@ARGV) {	my $fn = ($file =~ /\.gz$/) ? "zcat $file |" : ($file =~ /\.bz2$/) ? "bzcat $file |" : $file;	open F, $fn or die "Unable to open $file: $!";	my @id = ();	my $comm = "";	sub err($) {		print STDERR "Error in $file, line $.: @_\n";		exit 1;	}	while (<F>) {		if (/^(#.*)/) {			$comm .= $_;			next;		}		chomp;		if (my ($indent, $id, $ignored, $name) = /^(\t*)(([0-9a-fA-Z]+ ?)*)((  |\t|$)\s*(.*))$/) {			my $depth = length $indent;			$depth <= @id or err "Mismatched indentation";			@id = (@id[0..$depth-1], $id);			my $i = join(":", @id);			if ($i ne "") {				!exists $ids{$i} or die "ID $i defined twice";				$ids{$i} = $name;				$comments{$i} = $comm if $comm;			}		} elsif (!/^$/) {			err "Parse error";		}		$comm = "";	}	close F;}sub esc($) {	my ($x) = @_;	$x =~ s/^\s+//;	$x =~ s/"/\\"/g;	return $x;}foreach my $i (keys %ids) {	my $j = join(".", reverse split(/[: ]/, $i));	print "$j.pci\tTXT \"i=", esc($ids{$i}), "\"\n";	# print "$j.pci\tTXT \"c=", esc($comments{$i}), "\"\n"}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -