J'ai un peu plus de mille (1000) fichiers dont le suffixe / extension a été modifié par un moteur de base de données et qui ont tous la même chose (par exemple, nomFichier.abcd où .abcd figure sur chaque fichier, qu'il s'agisse d'un fichier jpg, pdf ou n'importe quoi d'autre).
L'objectif est de convertir tous les fichiers au format PDF, mais je veux d'abord trier les différents types de fichiers dans des dossiers distincts.
J'utilise Mac OS X et pense qu'il doit y avoir un script Terminal qui:
- Identifiez le fichier (peut-être avec la commande 'Fichier'?) Puis ...
- Ajouter l'extension appropriée qui serait alors ...
- Permettez-moi de les trier manuellement et de les placer dans des dossiers distincts pour un traitement ultérieur, en fonction du type de fichier.
En utilisant la commande 'Fichier' du terminal sur un fichier avec le suffixe de la base de données, les résultats typiques sont assez verbeux, ce qui montre au moins que le Mac peut identifier les types de fichiers même s'ils ont le suffixe «incorrect»:
- Données d'image JPEG, norme JFIF 1.01
- Document PDF, version 1.3
- Données au format RTF, version 1, ANSI
- etc.
Je n'ai donc besoin que d'un script permettant de baliser les fichiers afin de pouvoir utiliser Automator pour renommer les fichiers ultérieurement avec le suffixe approprié.
Je remarque que si dans le terminal, je tape 'Fichier' et que j'y dépose ou copie plusieurs fichiers, puis que je retourne dessus, le terminal les identifie correctement dans le même ordre, mais cela ne sert à rien, à moins qu'il ne soit étiqueté chaque type de fichier différemment.
Je pense que cette tâche initiale est trop difficile pour Automator, mais j'aimerais avoir tort.
Toute aide pour ce faire serait appréciée. J'ai vérifié ce forum et ailleurs en espérant que quelqu'un d'autre aurait eu un problème similaire, mais je n'ai trouvé aucun problème de ce type dans la liste.
la source
application_x-directory
et ce n'est pas une bonne OMI. Il devrait être codé pour ne pas traiter les répertoires. Vous notez également "Sachez que par souci de lisibilité, je ne me suis pas occupé des noms de fichiers contenant des espaces". Cependant, je trouve que les deux fonctionnent correctement sur les noms de fichiers avec des espaces.-type f
àfind
est tout ce que vous devez faire pour exclure les répertoires.if [[ ! -d "$file" ]]; then ...
, je l'aurais voté contre.$file
, comme le font les exemples de scripts, suffit (voir BashFAQ pour savoir pourquoi.). Le paragraphe et le lien pertinents doivent être supprimés, car ils sont à la fois non pertinents et préjudiciables à la réponse.