les wild-cards sur trouver et ls

Je suis à essayer de comprendre les wild-cards pour faire des opérations sur les fichiers.

J'ai ces fichiers dans un répertoire à des fins de test:

file_BSD.GIF  file_linux.gif  file_unix

Voir ma commande ls,

$ ls *{.GIF,.gif}
file_BSD.GIF  file_linux.gif

Qui est OK.

Mais "trouver" ne semble pas fonctionner de la même manière:

$ find -name *{.GIF,.gif}
find: paths must precede expression: file_linux.gif
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

Par ailleurs, j'ai lu que "-iname" devraient trouver à la fois des majuscules et des minuscules, des fichiers, mais cela ne semble pas fonctionner soit:

$find -iname *.gif

./file_linux.gif

(Ce doit rechercher les .GIF fichier en tant que bien, non?).

  • Pour utiliser -iname que vous voulez, vous devez indiquer le motif de vous en donner. J'ai ajouté cela comme une réponse.
  • En aparté, je pense qu'il est intéressant de noter que les accolades ({}) dans -name modèle ne sont pas reconnus comme étant spécial (Voir -name pattern dans linuxcommand.org/man_pages/find1.html). Par exemple, vous ne pouvez pas trouver les jpg et jpeg comme ceci: find -iname '*.jp{,e}g'.