Thread Automatisches auslesen von Systemdaten,von denen nur bestimmte Zeilen in einer Textdatei ausgeben werden
(46 answers)
Opened by guest at 2011-10-11 10:02
Wenn ich dazu mal mein Beispiel hernehmen darf, dann würde es etwa so aussehen:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #!/usr/bin/perl use strict; use warnings; #die Inhalte der Systemfiles my @cpuinfo = `cat /proc/cpuinfo`; my @meminfo = `cat /proc/meminfo`; # deine Datenstruktur my %systeminfo = ( "/proc/cpuinfo" => \@cpuinfo, "/proc/meminfo" => \@meminfo, ); #das ganze referenziert my $systeminfo_ref = \%systeminfo; open (my $writefile, '>',"systeminfo.txt") or die $!; #Zugriff auf die CPU Informationen foreach my $selected_cpuinfo ( @{ $systeminfo_ref->{"/proc/cpuinfo"} } ) { chomp($selected_cpuinfo); if ($selected_cpuinfo =~ m/^processor/ || $selected_cpuinfo =~ m/^cpu MHz/ ) { print "CPUINFO: $selected_cpuinfo\n"; print $writefile "$selected_cpuinfo\n"; } } #Zugriff auf die mem infos foreach my $selected_meminfo ( @{ $systeminfo_ref->{"/proc/meminfo"} } ) { chomp($selected_meminfo); print "MEMINFO: $selected_meminfo\n"; #schreibt noch alles ungefiltert nach systeminfo.txt print $writefile "$selected_meminfo\n"; } close($writefile); |