J'ai essayé d'utiliser la recherche *.*
et le filtrage des fichiers d'objectif Unity par Last Modified = All, Type = Videos et Size = All, mais je n'ai rien trouvé bien que je sache qu'il y a des fichiers .3gp dans mon dossier Images. Je sais que j'ai également de nombreux fichiers vidéo sur un autre lecteur monté sur le système de fichiers. J'ai compilé une liste d'extensions probables et j'ai essayé de nombreuses itérations de la find
commande en les utilisant avec find ./ -name "* .ext" -o (etc, etc, ad nauseum) sans aucune chance. Quelle est la solution?
11
Réponses:
Alternative: recherche dans le dossier :
ou si vous ne voulez que les noms de fichiers ...
-N, --no-pad
: Ne pas remplir les noms de fichiers-i, --mime
: Force la commande file à afficher des chaînes de type mime plutôt que les chaînes lisibles par l'homme plus traditionnelles. Ainsi, il peut indiquer «text / plain; charset = us-ascii 'plutôt que' ASCII text '. Pour que cette option fonctionne, le fichier change la façon dont il gère les fichiers reconnus par la commande elle-même (tels que de nombreux types de fichiers texte, répertoires, etc.) et utilise un autre fichier «magique». (Voir la section FICHIERS ci-dessous).La section FICHIERS pointe vers:
file
est lentwwwwwwwwwwwwwwww cependant (il ouvrira tous les fichiers trouvés) mais a l'avantage que vous n'avez pas besoin d'ajouter toutes ces extensions.Utilisation de la localisation:
la source
J'imagine que cela pourrait être fait en 1 ligne, mais cela semblait un peu lourd, j'ai donc créé un script pour faciliter le lancement et l'édition et je l'ai appelé
findvids.sh
C'est ce qui a fonctionné pour moi.Remarque: je n'ai peut-être pas couvert TOUS les types de fichiers vidéo, mais je suis sûr que j'en ai la plupart. Une exception notable est .mkv car c'est le format cible pour le projet et je n'ai pas besoin de trouver les fichiers qui ont déjà été traités. Il devrait être très simple d'ajouter des formats supplémentaires (extensions) au script en fonction de vos besoins en examinant le modèle et en ajustant en conséquence tout en conservant les guillemets au début et à la fin de l'expression. Notez que les fichiers que vous n'êtes pas autorisé à lire ne seront pas trouvés.
Modifier en fonction du commentaire: le
$
à la fin de l'extension signifie que le terme de recherche doit être trouvé à la fin de la ligne. si nous voulions faire correspondre le début de la ligne à la place, nous utiliserions^
avant le terme que nous avons l'intention de faire correspondre. Vous pouvez trouver ces ancres expliquées plus en détail ici.J'ai fait une comparaison de vitesse à l'aide de l'outil de localisation et les résultats sont les suivants:
contre.
De façon inattendue, la recherche est plus rapide. Je vais utiliser cette approche.
Edit: des tests supplémentaires indiquent que la localisation a été plus rapide sur une autre machine. Je pense que mes résultats de test de vitesse initiaux étaient superposés en raison de la mise en cache.
Sources:
man find
man grep
/programming/7190565/unix-find-multiple-file-types
la source
touch hello.mp4
ne crée pas de fichier vidéo>: - D et vous voudrez peut-être le changerlocate
pour l'accélérer.touch
Cependant, comme cela n'a pas été fait sur ce système, ce n'est pas vraiment pertinent dans ce cas. En ce qui concerne la localisation, je devrais alors exécuterupdatedb
avant pour avoir les données actuelles, n'est-ce pas?