#!/usr/bin/perl -w $V = 2; $dir = 'by/' . join('.',@ARGV); $pat = '^C: *' . join(' *',@ARGV); $dir =~ s'\.\.+'.'g; $pat =~ s'\.'[.\w]*'g; $cmd = "find */ -name '*.abc' | xargs grep -l '$pat'"; print "cmd: $cmd\n" if $V>1; @files = `$cmd`; if (@files) { mkdir($dir,0755) unless -d $dir; for $f (@files) { $f =~ s'[\r\s]+$''; ($n = $f) =~ s'^.*/''; $p = "$dir/$n"; if (-f $p) { print "File $p exists.\n" if $V>0; } else { link($f,$p); print "File $p linked.\n" if $V>0; } } }