Find

De Linuxmemo.

(Différences entre les versions)
(Astuces)
 
(6 versions intermédiaires masquées)
Ligne 23 : Ligne 23 :
==Expression==
==Expression==
 +
*Force precedence
 +
( expr )
 +
 +
*négation
 +
! expr
 +
-not expr (not POSIX compliant.)
 +
 +
*and
 +
expr1 expr2
 +
expr1 -a expr2
 +
expr1 -and expr2 (not POSIX compliant.)
 +
 +
*or
 +
expr1 -or expr2
 +
expr1 -o expr2 (not POSIX compliant.)
 +
 +
*liste
 +
expr1 , expr2
==Astuces==
==Astuces==
 +
*somme de taille de fichiers
  find . -iname "*.mkv" | xargs stat -c %s | awk '{a+=$1;print a}' |tail -1
  find . -iname "*.mkv" | xargs stat -c %s | awk '{a+=$1;print a}' |tail -1
-
Calcul de conversion:
+
*Calcul de conversion:
  kilobytes=$((bytes / 2**10))
  kilobytes=$((bytes / 2**10))
  megabytes=$((bytes / 2**20))
  megabytes=$((bytes / 2**20))
  gigabytes=$((bytes / 2**30))
  gigabytes=$((bytes / 2**30))
 +
 +
*purge des sauvegardes de plus de 30 jours
 +
find . -maxdepth 1 -and -mtime +30 -and -type d -and ! -iname "main" -execdir rm -rf {} \;

Version actuelle en date du 30 mai 2014 à 12:40


find [options] [starting path] [expression]
find . -type d -iname thumbs

[modifier] options remarquables

-maxdepth 1

limite a partée 1 au répertoire courant (non récursif)

-iname "*.gz" 

recherche nominative insensible a la caste

-mtime +30

plus vieux de 30 jour (24h*30)

-exec rm -f {} \; 

suppression du résultat

-execdir cp {} /home/ \;
find . -iname "*.mkv" -execdir cp -v {} /mnt/popcorn/Video/MKV/ \;

Using both basename and full path in find -exec for cp

[modifier] Expression

  • Force precedence
( expr )
  • négation
! expr
-not expr (not POSIX compliant.)
  • and
expr1 expr2
expr1 -a expr2
expr1 -and expr2 (not POSIX compliant.)
  • or
expr1 -or expr2
expr1 -o expr2 (not POSIX compliant.)
  • liste
expr1 , expr2

[modifier] Astuces

  • somme de taille de fichiers
find . -iname "*.mkv" | xargs stat -c %s | awk '{a+=$1;print a}' |tail -1
  • Calcul de conversion:
kilobytes=$((bytes / 2**10))
megabytes=$((bytes / 2**20))
gigabytes=$((bytes / 2**30))
  • purge des sauvegardes de plus de 30 jours
find . -maxdepth 1 -and -mtime +30 -and -type d -and ! -iname "main" -execdir rm -rf {} \;
Outils personnels