Hola:
Tengo un problema con esta instrucción:
find /home \( -size +10M -fprintf %u \%u\ \%+13s\ \%p\\n \)
Pretendo sacar un listado de todos los ficheros mayores de 10 megas, en una máquina con unos 25 usuarios, haciendo un solo recorrido por el árbol de directorios, y escribiendo la salida en un fichero independiente por cada usuario cuyo nombre es el del usuario. Así consigo varios listados de ficheros que contravienen las normas, y que puedo enviar directamente a cada usuario.
Lo primero que viene tras -fprintf es el nombre del fichero donde quiero que se escriba la salida. %u es el nombre del usuario, que quiero usar para el fichero, pero no me deja. Sólo consigo crear un fichero llamado %u, aunque le ponga comillas, paréntesis o lo que sea, escapados o sin escapar, el resultado es un fichero llamado %u, o '%u, o \%u o tantas otras cosas, pero no consigo crear un fichero distinto por usuario. Parece como si lo que viene después de -fprintf fuera absolutamente incapaz de interpretarlo de alguna manera.
La instrucción está inspirada en el man de find, aunque yo tuve que escapar los % y los espacios. ¿Alguna idea?