find - nützliche Oneliner

#Mal schnell die 10 größten Dateien unterhalb eines Verzeichnis finden
find . -printf '%s %p\n'| sort -nr | head -10

#Ergänzend dazu diie 10 größten Unterverzichnisse anzeigen
du -hsx * | sort -rh | head -10

# Benutzerrechte eines bestimmten Nutzers duch einen anderen ersetzen
find . -user auser -exec chown anotheruser '{}' \;

# Dateien löschen, die bestimmten String enthalten
find . -type f -name "*.php" | xargs grep "test.css" | awk '{print "rm " $1}' > doit.sh

#Dateien finden und chmod ausführen
find . -type f -print0 | xargs -0 chmod 644

#Verzeichnisse finden und chmod ausführen
find . -type d -print0 | xargs -0 chmod 755

#HTML-Dateien finden und String ersetzen
find . -name '*.html' -print0 | xargs -0 perl -pi -e 's/oldstring/newstring/g'

#Geänderte Dateien der letzten drei Tage finden
find ./ -type f -mtime -3 -exec ls -al {} \;

#Geänderte Dateien zwischen 3 und 6 Tagen alt
find ./ -type f -mtime -6 ! -mtime -3 -exec ls -la {} \;

#Leerzeilen oben oder unten in bestimmten Dateityp finden
for f in `find -type f -iname "*php"`; do for t in head tail; do $t -1 $f  |egrep '^[  ]*$' >/dev/null && echo "blank line at the $t of $f"; done; done