Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Améliorer l'efficacité

When the Exec- action est utilisée, elle lance une nouvelle instance de la commande spécifiée chaque fois qu'un fichier correspondant est trouvé. Il peut arriver que nous préférions combiner tous les résultats de la recherche et lancer une seule instance de la commande. Par exemple, plutôt que d'exécuter les commandes comme ceci :

ls -l file1

ls -l file2

nous pouvons préférer les exécuter de cette façon:

ls -l fichier1 fichier2

provoquant ainsi l'exécution de la commande une seule fois plutôt que plusieurs fois. Nous pouvons procéder de deux manières. La manière traditionnelle, en utilisant la commande externe xarg et l'autre manière, en utilisant une nouvelle fonctionnalité dans trouver lui-même. Nous parlerons d'abord de la voie alternative.

En remplaçant le point-virgule de fin par un signe plus, nous activons la capacité de trouver pour combiner les résultats de la recherche dans une liste d'arguments pour une seule exécution de la commande souhaitée. Pour revenir à notre exemple, ceci :


find ~ -type f -name 'foo*' -exec ls -l '{}' ';'

find ~ -type f -name 'foo*' -exec ls -l '{}' ';'


-rwxr-xr-x 1 moi

-rw-r--r-- 1 moi

-rwxr-xr-x 1 moi

-rw-r--r-- 1 moi


image

moi 224 2007-10-29 18:44 /home/me/bin/foo

moi 224 2007-10-29 18:44 /home/me/bin/foo

me

me

0 2016-09-19 12:53 /home/moi/foo.txt

0 2016-09-19 12:53 /home/moi/foo.txt

exécutera ls chaque fois qu'un fichier correspondant est trouvé. En changeant la commande en :



find ~ -type f -name 'foo*' -exec ls -l '{}' +

find ~ -type f -name 'foo*' -exec ls -l '{}' +


-rwxr-xr-x 1 moi

-rw-r--r-- 1 moi

-rwxr-xr-x 1 moi

-rw-r--r-- 1 moi


image

moi 224 2007-10-29 18:44 /home/me/bin/foo

moi 224 2007-10-29 18:44 /home/me/bin/foo

me

me

0 2016-09-19 12:53 /home/moi/foo.txt

0 2016-09-19 12:53 /home/moi/foo.txt

nous obtenons les mêmes résultats, mais le système n'a qu'à exécuter le ls commande une fois.


Meilleur système d'exploitation Cloud Computing chez OnWorks :