Home Menu

Menu



Tasker Para hablar de todo lo relacionado con la aplicación tasker


 
Herramientas
  #1  
Viejo 20/02/16, 19:26:50
Avatar de Mitrhandir
Mitrhandir Mitrhandir no está en línea
Usuario muy activo
Mensajes: 910
 
Fecha de registro: ene 2014
Localización: Burrifornia
Mensajes: 910
Modelo de smartphone: Huawei Ascend G7
Versión de ROM: Lollipop
Tu operador: Yoigo
Mencionado: 13 comentarios
Tagged: 0 hilos
Cómo borrar fotos duplicadas (Consulta)

Hola Amigos Taskerianos!

Aquí ando tratando de crear un perfil para borrar fotos duplicadas. La idea nace de este tuto: http://www.htcmania.com/showthread.php?p=9377579

Pues nada, más o menos, es fácil. Ejecutar consola/comando: rm/storage/sdcard1/GBWhatsapp/Media/GBWhatsapp Images/Sent/*.jpg (sí, soy usuario de GBWhatsapp )

El caso es que este comando me da error todo el rato. Al final me quedo con la mosca atrás y pruebo a ejecutar el mismo comando pero acabado en .nomedia para hacer "visibles" los archivos .jpg para luego ¡zas! ejecutar el comando rm/storage/sdcard1/GBWhatsapp/Media/GBWhatsapp Images/Sent/*.jpg

Pero nada, ni a tiros! Entonces, he pensado que para qué limitarme a una carpeta, si lo puedo hacer de forma global....

Así que como juntamos programación y variables, esto se pone divertido!

Una caña de pescar, plis? Estoy muy muy perdido y ni siquiera sé por dónde empezar!

SOLUCIONADO: La solucion aquí:

http://www.htcmania.com/showthread.p...6#post22207586


Última edición por Mitrhandir Día 26/02/16 a las 19:37:25
Responder Con Cita
Gracias de parte de:


  #2  
Viejo 20/02/16, 19:46:00
Avatar de Mitrhandir
Mitrhandir Mitrhandir no está en línea
Usuario muy activo
Mensajes: 910
 
Fecha de registro: ene 2014
Localización: Burrifornia
Mensajes: 910
Modelo de smartphone: Huawei Ascend G7
Versión de ROM: Lollipop
Tu operador: Yoigo
Mencionado: 13 comentarios
Tagged: 0 hilos
Voy a exponer lo que he hecho:

He establecido una variable %Duplicados A ON y que te calcule tanto en el perfil de pantalla apagada como encendida.

Luego he creado un perfil nuevo en el que he puesto condición valor de variable %Duplicados coincide ON y la tarea es lo que me tira para atrás: ejecutar consola- rm/storage/sdcard1/*jpg si if %Duplicados coincide on

Más o menos está todo apuntalado, pero me faltan las pinceladas maestras!

Cómo lo véis?
Responder Con Cita
  #3  
Viejo 20/02/16, 20:33:47
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por albalatvs Ver Mensaje
Pues nada, más o menos, es fácil. Ejecutar consola/comando: rm/storage/sdcard1/GBWhatsapp/Media/GBWhatsapp Images/Sent/*.jpg
Pues si el comando lo estás escribiendo tal y como lo has puesto el problema que veo es que te falta un espacio entre "rm" y la barra "/"

Supongo que eres consciente de que ese comando borra sin contemplaciones todos los archivos jpg de la carpeta indicada sin tener en cuenta si son duplicados o no, que es la esencia de tu planteamiento.

¿Eso te vale o realmente quieres crear una tarea para eliminar las fotos duplicadas?
Responder Con Cita
  #4  
Viejo 20/02/16, 20:43:49
Avatar de Mitrhandir
Mitrhandir Mitrhandir no está en línea
Usuario muy activo
Mensajes: 910
 
Fecha de registro: ene 2014
Localización: Burrifornia
Mensajes: 910
Modelo de smartphone: Huawei Ascend G7
Versión de ROM: Lollipop
Tu operador: Yoigo
Mencionado: 13 comentarios
Tagged: 0 hilos
Realmente, quiero y deseo hacer un perfil para borrar fotos duplicadas. Como habrás visto, he creado los perfiles, pero está todo cogido con pinzas... He establecido variable %Duplicados y más o menos he hecho lo mismo que me habéis enseñado. Lo que ocurre es que no me atrevo con la tarea por si borro las fotos (el backup está hecho, porsiaca). Me falta la pieza del puzzle que indique que sólo borre las fotos duplicadas.

Edito: He probado rm /storage/sdcard1/GBWhatsapp/Media/GBWhatsapp Images/Sent/*.jpg

Pero tampoco funciona... Incluso he copiado la ruta desde ES File Explorer para evitar errores. He probado de muchas maneras, pero nada!

Un saludo!

Última edición por Mitrhandir Día 20/02/16 a las 20:48:41 Razón: Añadir explicación
Responder Con Cita
  #5  
Viejo 20/02/16, 20:44:16
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Entiendo que descartas utilizar aplicaciones específicas para estos menesteres...

https://play.google.com/store/apps/d...niApp.WCleaner

https://play.google.com/store/apps/d...droid.wcleaner

No lo he comentado antes porque supongo que te lo quieres currar por tus medios.
Responder Con Cita
  #6  
Viejo 20/02/16, 20:51:14
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por albalatvs Ver Mensaje
Realmente, quiero y deseo hacer un perfil para borrar fotos duplicadas...
Me lo temía

De momento olvida los perfiles y las variables. Antes tienes que pensar en otra cosa. ¿Cómo puede saber tu tarea de Tasker que una foto es duplicada?

Recuerda que la tarea, como cualquier programa en realidad, no puede ver la foto como tú lo haces. ¿En qué se tiene que fijar la tarea para determinar que "esa" foto que está analizando ya existe?
Responder Con Cita
  #7  
Viejo 20/02/16, 21:18:54
Avatar de mlesir
mlesir mlesir no está en línea
Usuario muy activo
Mensajes: 2,263
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Versión de ROM: 4.4 Cyanogen
Tu operador: Pepephone
Mencionado: 36 comentarios
Tagged: 2 hilos
Me parece que ya se hizo un proyecto parecido. De hecho estoy casi seguro que se hizo por lo menos para whatsapp. No se si estara en el recopilatorio. A ver si alguien se acuerda.

Enviado desde mi T1-701u mediante Tapatalk
Responder Con Cita
  #8  
Viejo 20/02/16, 21:52:14
Avatar de Mitrhandir
Mitrhandir Mitrhandir no está en línea
Usuario muy activo
Mensajes: 910
 
Fecha de registro: ene 2014
Localización: Burrifornia
Mensajes: 910
Modelo de smartphone: Huawei Ascend G7
Versión de ROM: Lollipop
Tu operador: Yoigo
Mencionado: 13 comentarios
Tagged: 0 hilos
Hola Mr. Mlesir! Sí, tu memoria no falla: el tuto del que haces mención está arriba.

Ha sido la inspiración para abrir este tema!

Te mando saludos!
Responder Con Cita
  #9  
Viejo 20/02/16, 22:00:01
Avatar de Mitrhandir
Mitrhandir Mitrhandir no está en línea
Usuario muy activo
Mensajes: 910
 
Fecha de registro: ene 2014
Localización: Burrifornia
Mensajes: 910
Modelo de smartphone: Huawei Ascend G7
Versión de ROM: Lollipop
Tu operador: Yoigo
Mencionado: 13 comentarios
Tagged: 0 hilos


No, no tengo ni idea y eso que he buscado y buscado. Incluso estoy tratando de hacer un recopilatorio de comandos para tenerlo a mano, y pero me va a costar!

Este perfil lo tengo en mente, pero has acertado de pleno con tu pregunta. Uf. Ilumíname!
Responder Con Cita
  #10  
Viejo 20/02/16, 22:34:43
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por albalatvs Ver Mensaje
Este perfil lo tengo en mente, pero has acertado de pleno con tu pregunta. Uf. Ilumíname!
La forma en que un programa "ve" si dos archivos (fotos o lo que sea) son iguales es comparando sus contenidos byte a byte.

Puesto que la idea inicial era usar comandos de consola sigamos por esa vía...

El comando de consola de Android que hace esa comparación binaria es "cmp" (https://es.wikipedia.org/wiki/Cmp) pero le veo una pega importante. Repetir ese proceso con un centenar de fotos me temo que se fundiría la batería en un plis-plas.

Otra opción es calcular el hash MD5 (https://es.wikipedia.org/wiki/MD5) de cada archivo. Dos archivos idénticos tendrán idénticos hash. El comando de consola de Android es "md5". Seguramente es menos costoso en términos de proceso, y se podría optimizar guardando los MD5 en un archivo y evitando calcular los hash que ya estén calculados. Localizando los MD5 iguales tendrás localizados los archivos duplicados.

Si quieres hacer experimentos con esos dos comandos puedes usar este emulador de terminal...

https://play.google.com/store/apps/d...al.androidterm

Esos dos sistemas son precisos al 100% a costa de consumir mucha máquina. Se podría hacer una aproximación mucho menos costosa en máquina, y mucho menos precisa, comprando los tamaños de los archivos y tomando por buena la afirmación de "dos fotos con el mismo tamaño de archivo tienen que ser de la misma foto".

Dale vueltas y me cuentas
Responder Con Cita
  #11  
Viejo 21/02/16, 00:06:31
Avatar de Mitrhandir
Mitrhandir Mitrhandir no está en línea
Usuario muy activo
Mensajes: 910
 
Fecha de registro: ene 2014
Localización: Burrifornia
Mensajes: 910
Modelo de smartphone: Huawei Ascend G7
Versión de ROM: Lollipop
Tu operador: Yoigo
Mencionado: 13 comentarios
Tagged: 0 hilos
Ummm.... El tema de los duplicados lo puedo solventar fácilmente por ejemplo con SdMaid Pro, que, dicho sea de paso, es de mis aplicaciones de cabecera. Ocurre que yo, mente inquieta donde las hayan, siempre ando buscando tres pies al gato. No soy muy amigo de tener tropecientas mil aplicaciones: soy muy sobrio y prefiero tenerlo todo centralizado en una, que es Tasker. Incluso estoy valorando seriamente convertirla en app de sistema, porque para mí,y corregidme si exagero, es el segundo SO incluido en nuestros smartphones.

Me queda mucho recorrido y muchas ideas en el tintero para ir dando forma dentro de esta grandísima aplicación.

Un saludo!
Responder Con Cita
  #12  
Viejo 21/02/16, 00:52:09
Avatar de Caravantes
Caravantes Caravantes no está en línea
Usuario muy activo
Mensajes: 2,200
Compra y venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Versión de ROM: Android 8
Tu operador: Lowi
Mencionado: 59 comentarios
Tagged: 4 hilos
Hola, Albalatvs.

Me da la impresión de que estás dando palos de ciego, que quizá no sabes muy bien lo que quieres hacer.

Yo no suelo tener fotos duplicadas en mi smartphone. Alguna vez puede que tenga alguna duplicada, pero no me parece un problema relevante para pensar en hacer una tarea Tasker que lo resuelva. De todas formas, como taskero vocacional puede ser un buen ejercicio (A) tratar de hacer esa tarea, solo por el aprendizaje / divertimento / reto que ello supone. Desde este punto de vista, quizá fuera interesante no solo buscar duplicados en fotos, sino con cualquier tipo de archivo.

Pero hay personas que sí suelen tener fotos duplicadas. Por ejemplo, los usuarios de Whatsapp que reciben una foto y con cierta frecuencia la reenvían a otros. Whatsapp genera un archivo duplicado, e incluso es posible (no estoy seguro) de que haga duplicados adicionales si le envías la imagen a varias personas. Pero en este caso (B) ya tienes unas pistas muy claras para buscar fotos duplicados, y me refiero a los directorios o carpetas de Whatsapp que alojan las imágenes.

Por otro lado, hay que tratar de encontrar indicios que faciliten la identificación de los archivos duplicados. Yo creo que los indicios evidentes son el tipo de archivo y su tamaño. Si los dos archivos tienen tipos distintos o tamaños diferentes ya es evidente que no hay similitud, y damos el tema por zanjado. Si ambos datos coinciden en los dos ficheros... seguramente convenga una comparación más detallada como la que propone Willy con el método MD5 (muy buen apunte).

También hay que plantear cómo proceder cuando encontremos dos (o más) archivos idénticos. ¿Cuál quedará y cuál (o cuáles) hay que borrar? Es una decisión importante, que no debe tomarse a la ligera y que depende del planteamiento del problema [caso (A) o caso (B)].

Finalmente, me parece "suicida" utilizar un comando RM que borraría todas las fotos de una carpeta, porque lo hace sin discriminar las que puedan estar duplicadas o las que no lo están.

Quizá convendría reiniciar el problema con un planteamiento claro y concreto. En mi opinión, seguramente merezca la pena partir de la tarea que hizo jmajenjo (julio 2013), pues sospecho que es fácil modificarla para que afecte a distintos directorios, y tiene varias ventajas importantes, como el procesamiento en bucle, o que maneja los nombres de archivo en variables y también que hace un borrado selectivo, de un archivo cada vez.
http://www.htcmania.com/showthread.php?p=9377579
Responder Con Cita
  #13  
Viejo 21/02/16, 09:08:13
Avatar de Mitrhandir
Mitrhandir Mitrhandir no está en línea
Usuario muy activo
Mensajes: 910
 
Fecha de registro: ene 2014
Localización: Burrifornia
Mensajes: 910
Modelo de smartphone: Huawei Ascend G7
Versión de ROM: Lollipop
Tu operador: Yoigo
Mencionado: 13 comentarios
Tagged: 0 hilos
Hola Caravantes! Sin duda mi opción es la "A". Porque se me ocurre una idea, la planteo sobre papel y luego trato de plasmarla en Tasker. Y aquí es donde viene lo divertido: te rompes la cabeza y estrujas las neuronas tratando de conseguir, máxime cuando soy irremediablemente cabezón por naturaleza. Prefiero estar "trasteando" y tratar de hacer mi teléfono un poco más "inteligente".

Pero en parte tienes razón: estoy muy perdido y no me duele prendas reconocerlo, pero ello no significa que no quiera aprender, au contraire, lo deseo fervientemente.

Por eso, la mejor manera de aprender es practicar y equivocarte.

Sin más, quiero hacer presente mi admiración por todos vosotros, porque os leo y se me queda cara de tonto. Espero que ocurra cada vez menos, puesto que tendré más experiencia.

Un saludo!
Responder Con Cita
Gracias de parte de:
  #14  
Viejo 21/02/16, 10:37:39
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por Caravantes Ver Mensaje
... Desde este punto de vista, quizá fuera interesante no solo buscar duplicados en fotos, sino con cualquier tipo de archivo.
Ya me has fastidiado la sorpresa

Tal y como pensaba enfocarlo la tarea final podría eliminar cualquier archivo duplicado (fotos/vídeos/audios) de WhatsApp.

Cita:
Originalmente Escrito por Caravantes Ver Mensaje
... Si ambos datos coinciden en los dos ficheros... seguramente convenga una comparación más detallada como la que propone Willy con el método MD5.
Pues sí, se podrían combinar ambas cosas y conseguir un procesamiento mucho más eficiente.

Cita:
Originalmente Escrito por Caravantes Ver Mensaje
También hay que plantear cómo proceder cuando encontremos dos (o más) archivos idénticos. ¿Cuál quedará y cuál (o cuáles) hay que borrar? Es una decisión importante, que no debe tomarse a la ligera y que depende del planteamiento del problema [caso (A) o caso (B)].
Cierto. Yo eliminaría el más viejo, es decir, el primero que me encuentre en la lista.

Cita:
Originalmente Escrito por Caravantes Ver Mensaje
Finalmente, me parece "suicida" utilizar un comando RM que borraría todas las fotos de una carpeta, porque lo hace sin discriminar las que puedan estar duplicadas o las que no lo están.
Indudablemente es un planteamiento y solución incorrectos.

Cita:
Originalmente Escrito por Caravantes Ver Mensaje
En mi opinión, seguramente merezca la pena partir de la tarea que hizo jmajenjo (julio 2013), pues sospecho que es fácil modificarla para que afecte a distintos directorios, y tiene varias ventajas importantes, como el procesamiento en bucle, o que maneja los nombres de archivo en variables y también que hace un borrado selectivo, de un archivo cada vez.]
Pues sí y no. Si lees con detenimiento la tarea podrás ver que la solución todavía es peor que el comando "rm *.jpg". En el caso de la tarea se eliminan TODOS los archivos sin contemplaciones. Eso sí, se hace de forma secuencial con un bucle, que es lo único aprovechable para este nuevo planteamiento.

Cita:
Originalmente Escrito por albalatvs Ver Mensaje
Me queda mucho recorrido y muchas ideas en el tintero para ir dando forma dentro de esta grandísima aplicación.

Un saludo!
¿Cómo que ? ... ni de coña.

Ahora mismo te pones a comprobar cuánto tiempo cuesta comparar dos fotos con "cmp" y cuánto tiempo cuesta calcular sus hash md5.

Estoy esperando
Responder Con Cita
Gracias de parte de:
  #15  
Viejo 21/02/16, 14:28:51
Avatar de Mitrhandir
Mitrhandir Mitrhandir no está en línea
Usuario muy activo
Mensajes: 910
 
Fecha de registro: ene 2014
Localización: Burrifornia
Mensajes: 910
Modelo de smartphone: Huawei Ascend G7
Versión de ROM: Lollipop
Tu operador: Yoigo
Mencionado: 13 comentarios
Tagged: 0 hilos
WillyWeb, tengo las ideas en mi cabeza, pero no sé plasmarlo aquí. Pero tampoco me lo des hecho. Estímulame! Tengo clara la condición que sería a las 4 de la mañana y sólo cargando. Entonces habría que crear/establecer la variable %Condición y darle valor on. Pero el comando md5 no tengo ni idea de cómo ejecutarlo ni cómo sería el texto. Aún así, voy a buscar u trataré de hacer el comando yo. A ver si te sorprendo!
Responder Con Cita
  #16  
Viejo 21/02/16, 15:12:03
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por albalatvs Ver Mensaje
Tengo clara la condición que sería a las 4 de la mañana y sólo cargando. Entonces habría que crear/establecer la variable %Condición y darle valor on...
Todo eso después.

Cita:
Originalmente Escrito por albalatvs Ver Mensaje
Pero el comando md5 no tengo ni idea de cómo ejecutarlo ni cómo sería el texto. Aún así, voy a buscar u trataré de hacer el comando yo.
Te lo voy a poner fácil

Antes te he recomendado una app de terminal para que hagas pruebas...

https://play.google.com/store/apps/d...al.androidterm

Te creas una carpeta en la memoria del teléfono...

/sdcard/pruebas

Y metes en ella media docena de archivos (fotos o lo que quieras) con nombres cortos para que sean fáciles de escribir.

Luego, usando esa aplicación de terminal, te vas a esa carpeta...

cd /sdcard/pruebas

Y estando ya en ella haces esas comprobaciones que te he propuesto...

cmp foto1.jpg foto2.jpg

md5 foto1.jpg

Y miras qué sale, cuánto tarda, qué pegas te encuentras. En las comparaciones es interesante que hagas la prueba con archivos de diferentes tamaños, con archivos que sean totalmente diferentes y con archivos iguales. Me he encontrado con algo en lo que no había pensado y que abre una nueva opción para verificar si una foto está duplicada.

Por cierto, esos comandos son los mismos que luego tendrás que poner en la acción de consola de Tasker. Si aprendes/entiendes su manejo en el terminal sabrás como tratarlos en Tasker.
Responder Con Cita
  #17  
Viejo 21/02/16, 15:39:30
Avatar de Mitrhandir
Mitrhandir Mitrhandir no está en línea
Usuario muy activo
Mensajes: 910
 
Fecha de registro: ene 2014
Localización: Burrifornia
Mensajes: 910
Modelo de smartphone: Huawei Ascend G7
Versión de ROM: Lollipop
Tu operador: Yoigo
Mencionado: 13 comentarios
Tagged: 0 hilos
127|u0_a187@hwG7-L01:/ $ cd /storage/sdcard1/pruebas
mp leo.jpg ay.jpg <
leo.jpg ay.jpg differ byte 164
d5 leo.jpg ay.jpg <
0908755127c01746b4745812e5085fb6 leo.jpg
eb3abe9c7ca3d8ae4b34fb6bb45f7333 ay.jpg
u0_a187@hwG7-L01:/storage/sdcard1/pruebas $

WillyWeb, aquí tienes lo que me has pedido. La conclusión de a la que llego es que el primer comando digamos "resta" la suma de las 2 fotos, es decir, te dice la diferencia de bytes. Y el segundo comando, tengo la intuición de que nos "dice" digamos el número de serie de las 2 fotos, que claramente son distintas. Bien, ése es el estímulo! Está empezando a parpadear la bombillita!
Responder Con Cita
  #18  
Viejo 21/02/16, 18:24:12
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por albalatvs Ver Mensaje
La conclusión de a la que llego es que el primer comando digamos "resta" la suma de las 2 fotos, es decir, te dice la diferencia de bytes.
El comando "cmp" hace una comparación byte a byte de dos archivos y te dice en qué son diferentes. En su forma predeterminada (tal y como tú lo has ejecutado) la comparación se detiene al encontrar la primera diferencia. Si te fijas bien verás que el resultado es el nombre de los dos archivos y ...

differ byte 164

...que es el primer byte en el que ambos archivos ya no coinciden.

Cita:
Originalmente Escrito por albalatvs Ver Mensaje
Y el segundo comando, tengo la intuición de que nos "dice" digamos el número de serie de las 2 fotos, que claramente son distintas.
El comando "md5" es uno de los muchos sistema de calcular el "hash" de un archivo. El hash (se podría traducir como resumen) es una representación compacta (con un tamaño fijo) de algo que tiene un tamaño mucho mayor y variable (como el archivo de una foto).

Si te fijas verás que el resultado de procesar el archivo leo.jpg es "0908755127c01746b4745812e5085fb6" que es la representación en 32 bytes (conforme al sistema MD5) de los miles de bytes que seguro tenía ese archivo. La gracia del sistema MD5 es que es casi imposible que dos archivos diferentes tengan el mismo hash. Y comparar dos cadenas de texto de 32 bytes es una chorrada.

Bien comparando los archivos directamente o bien comparando sus hash podemos saber con total certeza si dos archivos son iguales.

De lo que se trata de es averiguar con qué sistema tardaremos menos en comparar 100 fotos. ¿Tú qué dices?

Última edición por WillyWeb Día 21/02/16 a las 18:36:37
Responder Con Cita
Gracias de parte de:
  #19  
Viejo 21/02/16, 19:21:17
Avatar de Mitrhandir
Mitrhandir Mitrhandir no está en línea
Usuario muy activo
Mensajes: 910
 
Fecha de registro: ene 2014
Localización: Burrifornia
Mensajes: 910
Modelo de smartphone: Huawei Ascend G7
Versión de ROM: Lollipop
Tu operador: Yoigo
Mencionado: 13 comentarios
Tagged: 0 hilos
Bien, me ha quedado claro que el método con md5 es mucho más rápido.
Manos a la obra:

Perfil: Duplicated Pics
Condición: cargando cargador
Condición: a las 4 a.m.

Tarea:
A1: ejecutar consola
Comando: md5 /storage/sdcard1/pruebas
Almacenar resultado
A2: Ejecutar consola
Comando: rm /storage/sdcard1/pruebas/*.jpg si if %Duplicados coincide on

Aunque sé que el perfil está mal sé que me estoy acercando. Faltaría darle el valor a %Duplicados y hacer algo más que se me escapa.

Así es como uno aprende! Mola!
Responder Con Cita


  #20  
Viejo 21/02/16, 20:30:19
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por albalatvs Ver Mensaje
Bien, me ha quedado claro que el método con md5 es mucho más rápido.
¿Estás seguro de eso?

Código:
Prueba1 (666)
	A1: Establecer variable [ Nombre:%archivo1 A:/sdcard/temp/foto1.jpeg Calcular:Apagado Añadir:Apagado ] 
	A2: Establecer variable [ Nombre:%archivo2 A:/sdcard/temp/foto2.jpeg Calcular:Apagado Añadir:Apagado ] 
	A3: Establecer variable [ Nombre:%archivo3 A:/sdcard/temp/foto3.jpeg Calcular:Apagado Añadir:Apagado ] 
	A4: Establecer variable [ Nombre:%tictac A:%TIMEMS Calcular:Apagado Añadir:Apagado ] 
	A5: For [ Variable:%num Ítems:1:50 ] 
	A6: Ejecutar consola [ Comando:md5 %archivo1 Cuenta atrás (segundos):0 Usar Root:Apagado Almacenar Salida En:%salida ] 
	A7: Ejecutar consola [ Comando:cmp %archivo1 %archivo2 Cuenta atrás (segundos):0 Usar Root:Apagado Almacenar Salida En:%salida Continuar Tarea Tras Error:Encendido ] 
	A8: End For 
	A9: Establecer variable [ Nombre:%tictac A:%TIMEMS-%tictac Calcular:Encendido Añadir:Apagado ] 
	A10: Flash [ Texto:%tictac Largo:Apagado ]
-Pon en A1/A2/A3 la ruta a tres archivos. A1 y A2 deben ser diferentes. A3 debe ser igual que A2. Procura que sean grandes, de unos cuatro o cinco megas mínimo.

-Comenta la acción A7 (te quedas pulsando y luego tocas el botón de apagado de la barra superior). Ejecuta la tarea un par de veces tomando nota del valor que sale al final en el flash. Es el tiempo de ejecución en milisegundos de calcular 50 veces el hash del archivo que pongas (procura usar el mayor).

-Ahora comenta la acción A6 y descomenta la A7. Ejecuta la tarea un par de veces y toma nota del valor del flash. Repite esa ejecución con los archivos diferentes y con los archivos iguales. Eso es el tiempo en milisegundos que se tarda en comparar 50 veces el par de archivos que pongas (iguales y diferentes).

Al final deberías tener los tiempos de...

calcular md5
comparar archivos diferentes
comparar archivos iguales

Te espero

PD: La prueba no es del todo correcta porque se usan siempre los mismos archivos y eso desvirtúa los resultados al ignorar el tiempo de lectura, pero creo puede valer como aproximación. Lo importante no es el valor que salga, sino la diferencia entre los distintos valores.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Otro software para Android > Tasker


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 05:47:55 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007