#!/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