#! /bin/bash
#count files under subtree.
touch /tmp/t$$
find $1 -type f -exec echo "1" >> /tmp/t$$ \; # el ; final va con \ para evitar 
                                              # que sea interpretado por el shell
                                              # en este caso corresponde al 
                                              # delimitador del comando exec de finger
wc -l  /tmp/t$$ 
rm /tmp/t$$ 
# UN alumno pregunto si podiamos incrementar un contador en lugar del echo.
# Esto no es posible, pues exec solo ejecuta comandos externos al shell.
# Luego no es posible hacer cosas del tipo let i+=1 en lugar de echo, pues 
# let es un comando interno al shell.
# En la implementacion de find, exec crea un proceso hijo y en este ejecuta
# el comando que se haya sen~alado, por esto no es posible ejecutar 
# comandos internos al shell. Notar que echo existe como comando interno y 
# como comando externo. Mas adelante veremos los procesos hijos y 
# como ejecutar programas o camandos en ellos.  

#  Mas simple se puedo usar:
# find $1 -type f -print | wc -l

