Intenté usar la búsqueda *.*
y el filtro de Unity Lens File para Last Modified = All, Type = Videos y Size = All, pero no encontré nada, aunque sé que hay algunos archivos .3gp en mi carpeta Imágenes. Sé que también tengo numerosos archivos de video en otra unidad montada en el sistema de archivos. Recopilé una lista de posibles extensiones y probé numerosas iteraciones del find
comando utilizándolas con find ./ -name "* .ext" -o (etc, etc, ad nauseum) sin suerte alguna. ¿Cuál es la solución?
11
Respuestas:
Alternativa: buscar en el archivo :
o si solo quieres los nombres de archivo ...
-N, --no-pad
: No rellene los nombres de archivo-i, --mime
: Hace que el comando de archivo genere cadenas de tipo mime en lugar de las más legibles por humanos. Por lo tanto, puede decir 'text / plain; charset = us-ascii 'en lugar de' texto ASCII '. Para que esta opción funcione, el archivo cambia la forma en que maneja los archivos reconocidos por el comando en sí (como muchos de los tipos de archivos de texto, directorios, etc.) y hace uso de un archivo 'mágico' alternativo. (Consulte la sección ARCHIVOS, a continuación).La sección ARCHIVOS apunta a:
file
aunque es lentowwwwwwwwwwwwwwww (abrirá todos los archivos de hallazgos encontrados) pero tiene la ventaja de que no necesita agregar todas esas extensiones.Usando localizar:
fuente
Me imagino que esto se podría hacer como una línea, pero me pareció un poco engorroso, así que creé un script para facilitar su lanzamiento y edición y lo llamé
findvids.sh
Esto es lo que funcionó para mí.Nota: es posible que no haya cubierto TODOS los tipos de archivos de video, pero estoy seguro de que tengo la mayoría de ellos. Una excepción notable es .mkv, ya que es el formato de destino para el proyecto y no necesito encontrar los archivos que ya se han procesado. Debe ser muy simple agregar formatos adicionales (extensiones) al script para satisfacer sus necesidades examinando el patrón y ajustándolo en consecuencia mientras mantiene las comillas al principio y al final de la expresión. Tenga en cuenta que los archivos que no tiene permiso para leer no se encontrarán.
Editar en base a un comentario: El
$
al final de la extensión significa que el término de búsqueda debe encontrar al final de la línea. si quisiéramos igualar el comienzo de la línea, usaríamos^
antes del término que pretendemos igualar. Puede encontrar estos anclajes explicados con más detalle aquí.Hice una comparación de velocidad con el uso de localizar y los resultados fueron:
vs.
Inesperadamente, encontrar es más rápido. Usaré este enfoque.
Editar: más pruebas indican que localizar fue más rápido en una máquina diferente. Creo que los resultados iniciales de mi prueba de velocidad fueron falsos debido al almacenamiento en caché.
Fuentes:
man find
man grep
/programming/7190565/unix-find-multiple-file-types
fuente
touch hello.mp4
no crea un archivo de video>: - D y es posible que desee cambiarlolocate
para acelerarlo.touch
Sin embargo, dado que eso no se ha hecho en este sistema, no es realmente relevante en este caso. En lo que respecta a localizar, tendría que ejecutarupdatedb
antes para tener datos actuales, ¿no?