#!/usr/bin/env rc
# Enumerate the sins (guids) in a file(s) (stdin by default)
# usage: countsins [-r] [file ...]

argv0 = $0
files = (/dev/stdin)
recurse = no
eargs = (-Iho)

fn usage {
	echo 'usage:' $argv0 '[-r] [file ...]'
	exit 'usage'
}

while(~ $1 -*)
	switch($1){
	case -r;
		recurse = yes
		shift
	case -*;
		usage
	}

if(! ~ $#* 0){
	files = $*
}

switch($recurse){
case no;
	eargs = ($eargs -d skip)

case yes;
	eargs = ($eargs -d recurse)
	
}

sort <{for(f in $files){
	egrep $eargs '[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}' $f
}} | uniq

