7 votes

Comment rechercher sur un Mac des fichiers commençant ou se terminant par un espace " " ou un point "."

Je dois juste savoir comment rechercher (dans Finder vs Terminal, si possible) tous les noms de fichiers dans un dossier spécifique, commençant ou se terminant par un espace ou un point.

Par exemple :
" file.jpg" (commence par un espace)
"file .jpg" (se termine par un espace)
"file..jpg" (se termine par un point)

De plus, trouver un nom de fichier avec les caractères * ou " dedans. Rechercher ce nom de fichier en utilisant Finder produit des milliers de résultats qui n'ont en réalité pas * ou " dedans. Exemple : "fil*e.jpg" ou "fil"e.jpg"

9voto

Eirik Fuller Points 700

Avec Finder comme application active, choisissez Rechercher dans le menu Fichier. Dans la fenêtre Rechercher dans "Ce Mac" qui s'ouvre, sélectionnez Type est Document, puis utilisez + pour ajouter une autre condition avec Nom comme premier élément. Si vous choisissez commence par comme deuxième élément, vous pouvez trouver des fichiers dont les noms commencent par un certain caractère, comme un espace. La condition se termine par ne trouvera pas les fichiers avec les noms de vos exemples à moins que le suffixe du nom de fichier se termine par le caractère d'intérêt, mais vous pouvez trouver un caractère particulier, comme un espace, comme dernier caractère avant le suffixe si vous choisissez contient et suivez ce caractère avec .. Pour votre exemple file..jpg, vous utiliseriez .. pour le texte de recherche. Cette approche permet de trouver des caractères littéraux * dans les noms de fichiers, si vous choisissez contient et utilisez * pour le texte de recherche.

Il est facile de trouver de tels fichiers avec la commande find (dans Terminal) en citant correctement les caractères spéciaux. Par exemple,

find Téléchargements -name ' *' -ls

affiche tous les fichiers de mon répertoire Téléchargements qui commencent par un espace,

find Téléchargements -name '*\**' -ls

affiche tous les fichiers de mon répertoire Téléchargements avec un * dans son nom,

find Téléchargements -name '*\.\.*' -ls

affiche tous les fichiers de mon répertoire Téléchargements avec deux caractères consécutifs de . dans son nom, et

find Téléchargements -name '* .*' -ls

affiche tous les fichiers avec un caractère d'espace juste avant le suffixe. Enfin,

find Téléchargements -name ' *' -ls -o -name '*\**' -ls -o -name '*\.\.*' -ls -o -name '* .*' -ls

affiche tous ces fichiers dans mon répertoire Téléchargements. Vous pouvez ancrer la recherche ailleurs en remplaçant Téléchargements sur la ligne de commande, et vous pouvez utiliser d'autres options pour restreindre davantage la recherche (-type f ignorerait les répertoires et les liens symboliques).

0voto

user182314 Points 1

Pour éclairer et étendre un peu la réponse d'Eirik :

Les instructions qu'il vous a fournies sont essentiellement les mêmes que vous utiliseriez dans le terminal, mais avec quelques détails cachés.

Je suppose que vous cherchez à nettoyer les noms de fichiers, c'est donc quelque chose pour lequel le terminal est vraiment, très bon : c'est en fait pourquoi il est conservé dans tout système d'exploitation moderne.

Si cela vous intéresse, faites-le moi savoir et je verrai comment ajouter plus de détails sur ce qu'il faut taper pour (a) trouver tous les fichiers correspondant à vos critères et (b) corriger leurs noms (en conservant des sauvegardes en cas de problème) dans une commande que vous pouvez coller dans le terminal. :)

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X