#bash: for f in `find /tmp/files/`; do head -20 $f | grep -q -i dave && echo $f >> list.txt ; done perl -lne 'do { print $ARGV; last } if /DAVE/i; last if $. == 20' `find /tmp/files` >> list.txt