#!/usr/bin/perl # -*- perl -*- # In pcb-menu.res, add somewhere: # # {"grep" a={"G" "g"} ExecuteFile(/tmp/pcb.grep)} # board.bom must be created using the bom2 backend $reg = shift; open(B, "board.bom"); $first = 1; open(G, ">/tmp/pcb.grep"); print G "Unselect(All)\n"; while () { chomp; ($refdes, $value, $footprint, $device, $voltage, $manufacturer, $manufacturer_part_number, $vendor, $vendor_part_number, $qty) = split(':', $_); if ($first || /$reg/i) { print "\033[34m" if $first; printf("%-7s %-24s %-18s %s\n", $value, $manufacturer_part_number, $vendor_part_number, $refdes); print "\033[0m" if $first; if (!$first) { for $r (split(',', $refdes)) { print G "Select(ElementByName,$r)\n"; $count ++; } } $first = 0; } } print "\n\033[32m$count parts\033[0m\n"; close G;