Tengo una serie de archivos llamados:
2014111test.log
2014111test.log.stuff
2014111test.log.flibble
2014115test.log
2014115test.log.stuff
2014115test.log.flibble
Quiero encontrar todos los archivos de registro a partir de cierta edad, luego tar.gz junto con cualquier otro archivo con la misma parte inicial del nombre en un archivo.
$ find . -name '20*.log' -ctime +90 -exec 'tar zvcf /var/log/logzip/{}.tgz {}*' \;
find: tar zvcf /var/log/fwlogzip/./2014111test.log.tgz ./2014111test.log*: No such file or directory
...
Sin embargo, si escribo
tar zvcf /var/log/fwlogzip/./2014111test.log.tgz ./2014111test.log*
Por sí mismo, funciona bien. Entonces parece que algo va mal con el globbing cuando find pasa el comando al shell.
¿Qué me estoy perdiendo?
Intente una vez eliminar las comillas alrededor del comando tar y también elimine * después de {}, por qué está usando * después de {}. Lo he comprobado que funciona bien.
fuente