1#!/usr/bin/php -f 2<?php 3 4$fp = popen("zgrep '^\\*Product:' /Library/Printers/PPDs/Contents/Resources/*.gz", "r"); 5$files = array(); 6$maxlen = 0; 7 8while ($line = fgets($fp, 1024)) 9{ 10 $data = explode(":", $line); 11 if (array_key_exists($data[0], $files)) 12 $files[$data[0]] ++; 13 else 14 $files[$data[0]] = 1; 15 16 $data = explode("\"", $line); 17 if (strlen($data[1]) > $maxlen) 18 $maxlen = strlen($data[1]); 19} 20 21pclose($fp); 22 23arsort($files); 24 25$current_count = 0; 26$current_files = 0; 27 28foreach ($files as $file => $count) 29{ 30 if ($current_count == 0) 31 print(basename($file) . " => $count products\n"); 32 33 if ($count != $current_count) 34 { 35 if ($current_count != 0) 36 print("$current_files PPDs with $current_count products.\n"); 37 38 $current_count = $count; 39 $current_files = 1; 40 } 41 else 42 $current_files ++; 43} 44 45if ($current_count != 0) 46 print("$current_files PPDs with $current_count products.\n"); 47 48print("Maximum length of Product string: $maxlen\n"); 49 50?> 51