Findutils - gwenn/hypomnemata GitHub Wiki

Pruning

find -type d -name '.svn' -prune -o ...
find -wholename '*/target' -prune -o ...

Regexp

find -type f -regex '.*\(sh\|rb\)$'

Negation

find -type f \(-not -name '*.rb' -delete \)

Grepping search result

find -type f -print0 | xargs -0 zgrep ...

Expression

find $TDIR -type f -printf "head -1 $TDIR/%f > $TDIR/DIFF_%f && diff $ODIR/%f $TDIR/%f >> $TDIR/DIFF_%f\n" | sh
find . -type f -name 'DIFF*' -printf "awk -F ';' -f diff.awk %p > %p_ && mv %p_ %p\n" | sh

Timestamp

find -type f -mmin -600 -print0 | xargs -0 zgrep -i error
find -mtime +10 -mtime -12

Depth

find -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} \;
find -depth -mindepth 1 -type d -empty -delete

Misc

find ~/input/j/ -type f -printf "sort '%p' > '%p.sort'\n" | sh

find -type d -name 'target' -prune -o -type d -name '.svn' -prune -o -type f -name '*.java' -print

for d in $(cat dirs.lst); do find $d -maxdepth 1 -type f -print0 | xargs -0 grep $1; done
for d in $(cat dirs.lst); do find $d -maxdepth 1 -type f -print0 | xargs -0 grep -wl $1; done
for d in $(cat dirs.lst); do find $d -maxdepth 1 -type f -name "'*$1*'"; done

for f in `find /data/ -type f -name '*.xml.gz' -not -name '*_Paris.xml.gz' -print`; do nf=`echo $f | sed -e 's/\(.*\).xml.gz/\1_Paris.xml.gz/'`; echo cp -p $f $nf; done