lunes, 9 de mayo de 2016

Acciones definidas por el usuario

Además de las acciones predefinidas, podemos invocar también comandos arbitrarios. La forma tradicional de hacerlo es con la acción -exec. Esta acción funciona así:

-exec comando {} ;

donde comando es el nombre de un comando, {} es la representación simbólica de la ruta actual, y el punto y coma es un delimitador requerido indicando el final del comando. Aquí hay un ejemplo de usar -exec de forma que funcione como la acción -delete que vimos antes:

-exec rm '{}' ';'

De nuevo, como las llaves y el punto y coma tiene significado especial para el shell, deben ir entrecomillados o “escapados”.

También es posible ejecutar una acción definida por el usuario interactivamente. Usando la acción -ok en lugar de -exec, el usuario es preguntado antes de la ejecución de cada comando especificado:

find ~ -type f -name 'foo*' -ok ls -l '{}' ';'
< ls ... /home/me/bin/foo > ? y
-rwxr-xr-x 1 me me 224 2007-10-29 18:44 /home/me/bin/foo
< ls ... /home/me/foo.txt > ? y
-rw-r--r-- 1 me me 0 2008-09-19 12:53 /home/me/foo.txt

En este ejemplo, buscamos archivos con nombres que empiecen con la cadena “foo” y ejecutamos el comando ls -l cada vez que encontremos uno. Al usar la acción -ok se pregunta al usuario antes de que se ejecute el comando ls.

No hay comentarios:

Publicar un comentario