Menu
Coddy logo textTech

Le joker point d'interrogation

Fait partie de la section Les fondamentaux du Journey Terminal de Coddy — leçon 26 sur 82.

Le joker point d’interrogation ? correspond à exactement un caractère. Contrairement à * qui correspond à n’importe quel nombre de caractères, ? est plus précis — chaque ? représente une position de caractère unique.

Par exemple, si vous avez ces fichiers :

file1.txt
file2.txt
file3.txt
file10.txt
notes.txt

Utilisation de ? pour faire correspondre les fichiers avec exactement un caractère après file :

ls file?.txt

Sortie :

file1.txt
file2.txt
file3.txt

Notez que file10.txt n’est pas correspondante parce que 10 comporte deux caractères, pas un.

Utilisation de plusieurs points d'interrogation :

Chaque ? correspond exactement à un caractère, vous pouvez donc les chaîner :

ls file??.txt   # correspond à file10.txt, file23.txt etc.

Mélange avec d'autres caractères :

ls ???.txt      # correspond à tout fichier .txt avec exactement un nom de 3 caractères
ls img_?.jpg    # correspond à img_1.jpg, img_2.jpg mais PAS img_10.jpg

Quand utiliser ? vs * :

  • Utilisez ? lorsque vous connaissez exactement combien de caractères varient
  • Utilisez * lorsque le nombre de caractères variables est inconnu
challenge icon

Défi

Débutant

Utilisez le caractère générique ? pour lister uniquement les fichiers qui correspondent à file?.txt — des fichiers nommés file suivis de exactement un caractère et se terminant par .txt.

Indice : file10.txt ne devrait pas apparaître dans vos résultats car 10 représente deux caractères. Le caractère générique ? ne correspond qu'à un caractère à la fois.

Aide-mémoire

Le joker point d'interrogation ? correspond à exactement un caractère. Contrairement à * qui correspond à n'importe quel nombre de caractères, ? est plus précis — chaque ? représente une position de caractère unique.

Exemple de correspondance de fichiers avec exactement un caractère après file :

ls file?.txt

Utilisation de plusieurs points d'interrogation :

Chaîner plusieurs ? pour correspondre à plusieurs caractères :

ls file??.txt   # correspond à file10.txt, file23.txt etc.

Mélange avec d'autres caractères :

ls ???.txt      # correspond à n'importe quel fichier .txt avec un nom de exactement 3 caractères
ls img_?.jpg    # correspond à img_1.jpg, img_2.jpg mais PAS à img_10.jpg

Quand utiliser ? par rapport à * :

  • Utilisez ? quand vous connaissez exactement le nombre de caractères qui varient
  • Utilisez * quand le nombre de caractères qui varient est inconnu

Essayez vous-même

Terminal
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Les fondamentaux