2 ###APPNAME: zim-create-aptlog
3 ###APPAUTHOR: xiaoranzzz
4 ###APPDATE: Wed Apr 2 00:42:39 2008
13 my $zimdir="/myplace/workspace/Wiki/myplace/Works/SystemAdmin/Packages";
14 mkdir $zimdir unless(-d
$zimdir);
17 if($logfile && -f
$logfile) {
18 if(!open $log_h,"<",$logfile) {
19 print STDERR
"Open $logfile for reading error:$!\n";
20 print STDERR
"Trying sudo...\n";
21 open $log_h,"-|","sudo cat '$logfile'" or die("$!\n");
34 next unless(/^Log started:\s+([^\s]+)\s+([^\s]+)\s*$/);
36 $logs{$date}=() unless(exists $logs{$date});
37 push(@
{$logs{$date}},"\n== $2 ==\n");
43 if(/^\s*(:?dpkg|debconf)\b/) {
44 push(@
{$logs{$date}}," **$_**");
47 if(/^\s*Setting up\s+([^\s]+)\s+\(([^\(\)]+)\)/) {
48 push(@
{$logs{$date}},"* Setting up __$1__ ($2)");
51 if(/^\s*Removing\s+([^\s]+)\s+...\s*$/) {
52 push(@
{$logs{$date}},"* ~~Removing~~ __$1__");
58 if(open FI
,"<","$zimdir.txt") {
59 my $text=join("",<FI
>);
61 open FO
,">>","$zimdir.txt";
62 foreach (sort keys %logs) {
63 next if($text =~ /^\s*\*\s*\[\[\.$_\|$_\]\]/m);
64 print FO
"* [[.$_|$_]]\n";
69 foreach my $date(sort keys(%logs)) {
70 print STDERR
"Writing $zimdir/$date.txt...\n";
71 open FO
,">>","$zimdir/$date.txt" or die("$!\n");
72 foreach(@
{$logs{$date}}) {