¿Hay alguna manera de decirle al find
comando bash que muestre lo que está haciendo (modo detallado)?
Por ejemplo para el comando:
find /media/1Tb/videos -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;
a la salida:
Found /media/1Tb/videos/102, executing rm -rf /media/1Tb/videos/102
...
find
, así que aprobadofind
amor creció otro solo un poquito más. gracias :)find -L . -type l -delete -print
¿Qué tal simplemente usar
rm -vf
para la salida de rm detallado.fuente
rm
es genial, pero si la reemplazara por otra, ya no puedo ver en qué archivos se está trabajando (a menos que la use en elecho
interior-exec
)Una alternativa es dejar que los comandos sean ejecutados por
sh -x
:fuente
shell
debug
el modo será lo suficientemente claro sobre lo que ha sucedido. GraciasTambién hay
find -D xxxx
que podría ayudar en algunos casos.A continuación hay dos ejemplos de
find -D search
:Usando RHEL 6.3 (
find
v4.4):Usando Cygwin 1.7 (
find
4.5):fuente
La respuesta de @ hlovdav fue suficiente para mí, pero hice algunas modificaciones para mi propio uso.
Explicación
pattern
null
separado, importante si tiene nombres de archivo con espacios o caracteres inusualesxargs
lecturanull
separada, establezca cada marcador de posición de registro en%%
Esto también garantiza que cada vez que use solo un argumentobash
comando, one-liner, todo entra, debe estar entre comillas simples'
--
es decir, todo lo que hago después de esto no esxargs
ubash
opciones, sino parámetros posicionales para mi script de una líneabash
script, puede acceder%%
como$1
argumento posicional No # 1Nota: Puede cambiar
%%
con cualquier cosa, solo asegúrese de no tener que usarlo para otra cosa que no sea un marcador de posición. El uso del dólar$
o@
podría no ser buena, a menos que sea doble@
como@@
.fuente