Apprendre Linux

Les caractères génériques sous Linux expliqués avec 10 exemples

Les caractères génériques sous Linux expliqués avec 10 exemples

Les caractères génériques, un.k.une. méta-caractères, sont une aubaine lorsqu'il s'agit de rechercher des noms de fichiers particuliers à partir d'un tas de fichiers portant le même nom. Par exemple, en utilisant des caractères génériques sous Linux, vous pouvez utiliser le ls commander,  rm commande, ou toute autre commande Linux d'ailleurs, sur plusieurs fichiers tant qu'ils correspondent aux critères définis.

Dans cette lecture, nous discuterons de la façon dont vous pouvez utiliser les caractères génériques sous Linux pour rationaliser votre flux de travail et devenir plus productif. Mais d'abord, jetons un coup d'œil aux caractères génériques les plus puissants et les plus couramment utilisés sous Linux :

  1. L'astérisque (*): Le (*) le caractère générique représente un nombre quelconque de caractères inconnus. Ceci est utile lorsque vous recherchez des documents ou des fichiers mais ne mémorisez qu'une partie de son nom.
  2. Le point d'interrogation (?): Le (?) le caractère générique ne représente qu'un seul caractère inconnu. Ceci est utile lorsque vous avez une liste de fichiers du même nom et que vous n'êtes pas sûr de quelques caractères.
  3. Les caractères entre crochets ([ ]): Le ([ ]) joker - le 3e crochet et non le 1er crochet - est utilisé pour faire correspondre toutes les occurrences de caractères définies à l'intérieur des crochets. Cette option est pratique pour traiter des fichiers en majuscules et en minuscules, comme nous le verrons plus tard.

Maintenant, je me rends compte que toutes ces informations n'ont aucun sens si vous n'avez jamais traité de caractères génériques auparavant. Cependant, pour vous aider à dissiper votre confusion, nous avons élaboré un guide détaillé, comprenant 10 exemples, pour vous assurer que vous comprenez bien la fonction des caractères génériques et commencez à les utiliser vous-même.

Exemples de correspondance de noms de fichiers à l'aide de caractères génériques

Pour commencer, utilisons tous les caractères génériques dont nous avons parlé plus tôt et voyons comment les utiliser pour faire correspondre les noms de fichiers. Pour ce faire, nous utiliserons l'ensemble de fichiers suivant :

  1. Cette commande correspondra à tous les noms de fichiers commençant par la lettre M et se terminant par une ou plusieurs occurrences de n'importe quel caractère.
$ ls -l M*

Production:

Remarquez qu'il ne correspond qu'aux fichiers commençant par le « M » majuscule et non par le « m » minuscule. 

2. Cette commande copiera tous les noms de fichiers commençant par Mes données et se terminant par une ou plusieurs occurrences de n'importe quel caractère.

$ ls Mes-Données*

Production:

3. Cette commande correspondra à tous les fichiers commençant par la lettre M, se terminant par la lettre N, et ayant 1 caractère entre les deux.

$ ls M?N.sh

Production:

4. Cette commande correspondra à tous les fichiers commençant par la lettre M, se terminant par la lettre N, mais n'ayant qu'un seul caractère entre les deux appartient à la liste des caractères définis entre crochets [AEIOU].

$ ls M[AEIOU]N.sh

Production:

4 exemples de combinaison de différents caractères génériques pour faire correspondre les noms de fichiers

Maintenant, pour booster votre efficacité, vous pouvez mélanger et assortir ces caractères génériques pour travailler ensemble et être plus efficace pour faire correspondre les noms de fichiers.

  1. Voici une commande qui vous aidera à trouver n'importe quel nom de fichier pouvant contenir 3 caractères (y compris aucun caractère) suivi de gâteau et se terminant par une ou plusieurs occurrences de n'importe quel caractère.
$ ls ???gâteau*

Production:

2. Voici une commande qui correspondra à tous les noms de fichiers commençant par l'un de ces caractères entre crochets [MNLOP] et se terminer par une ou plusieurs occurrences de n'importe quel caractère.

Voyons aussi ce qui se passe lorsque nous remplaçons [MNLOP] avec [mnlop].

Les commandes que nous utiliserons sont donc :

$ ls [MNLOP]*
$ ls [mnlop]*

Production:

Comme vous pouvez le voir, vous devez être conscient des majuscules et des minuscules des lettres que vous entrez dans le caractère générique entre parenthèses car cela influencera le résultat.

3. Voici une commande qui correspondra à tous les noms de fichiers avec l'un de ces caractères [MNLOP] comme le premier, l'un de ces caractères [AEIOU] comme le second, suivi de N, et enfin se terminant par une ou plusieurs occurrences de n'importe quel caractère.

$ ls [MNLOP][AEIOU]N*

Production:

Remarquez comment le (*) wildcard ne fait qu'aider à trouver toutes les extensions des noms de fichiers.4.

Voici une commande qui correspondra à tous les noms de fichiers commençant par une ou plusieurs occurrences de n'importe quel caractère menant à M, suivi d'un caractère quelconque, puis suivi de N, puis se terminant par une ou plusieurs occurrences de n'importe quel caractère.

$ ls *M?N*

Production:

Utilisation de caractères génériques pour faire correspondre le jeu de caractères

À présent, vous devriez avoir une compréhension pratique du fonctionnement des caractères génériques. Nous pouvons maintenant nous concentrer sur certains cas d'utilisation avancés où les caractères génériques sont inestimables.

Par exemple, le caractère générique entre parenthèses permet de définir une plage de caractères à l'aide [-] au lieu de taper chaque caractère. Cela peut être extrêmement utile lorsque vous souhaitez spécifier un ensemble de caractères et faire correspondre les noms de fichiers en fonction de l'endroit où les caractères apparaissent. 

Pour ce faire, nous utiliserons l'ensemble de fichiers suivant, comme indiqué dans l'image :

Comme vous pouvez le voir, l'image que nous avons créée est une liste de fichiers contenant différentes données Pokemon.

Maintenant, pour trouver tous les noms de fichiers qui commencent par pokémon- suivi d'un nombre, puis de n'importe quel caractère alphanumérique, à nouveau suivi d'un nombre, puis se terminant par une ou plusieurs occurrences de n'importe quel caractère, nous pouvons utiliser la commande suivante :

$ls pokemon-[0-9][0-9a-zA-Z][0-9]*

Production:

La partie [0-9] représente tous les caractères numériques entre 0 à 9

La partie suivante [0-9a-zA-Z] représente un nombre quelconque de caractères entre 0 à 9, ou toute lettre minuscule entre une à z, ou une lettre majuscule entre UNE à Z.

En tant que tel, si nous éliminons [0-9a-zA-Z] avec [0-9a-z], vous pouvez voir que le résultat n'inclut aucun nom de fichier avec les lettres majuscules dans la position désignée.

$ls pokemon-[0-9][0-9a-z][0-9]*

Production:

Utilisation de caractères génériques pour annuler un ensemble de caractères

Comme vous pouvez spécifier un ensemble de caractères, vous pouvez également annuler un ensemble de caractères tout en faisant correspondre les noms de fichiers. Voici un exemple de la façon dont c'est fait :

$ls pokemon-[0-9][!a-z][0-9]*

Production:

Cela correspond à tous les noms de fichiers qui commencent par pokémon- suivi de tout caractère numérique, puis de tout caractère autre que des lettres minuscules, suivi de tout caractère numérique, et enfin se terminant par une ou plusieurs occurrences de tout caractère.

Utilisant [!a-z], nous nions l'ensemble de toutes les lettres minuscules. Maintenant, les noms de fichiers correspondent à tout caractère qui n'est pas une lettre minuscule.

Emballer

Cela nous amène donc à la fin de notre rapide aperçu des caractères génériques Linux et de leur utilisation. En résumé, en un mot, le astérisque (*) Le caractère générique est plus utile lorsque vous connaissez le nom du fichier mais pas l'extension. le point d'interrogation (?) wildcard peut vous aider si vous oubliez quelques caractères de nom de fichier. le crochet ([]) le caractère générique est utile lorsque vous souhaitez contenir votre recherche dans un ensemble de caractères définis.

SuperTuxKart pour Linux
SuperTuxKart est un excellent titre conçu pour vous apporter l'expérience Mario Kart gratuitement sur votre système Linux. C'est assez stimulant et am...
Tutoriel Bataille pour Wesnoth
The Battle for Wesnoth est l'un des jeux de stratégie open source les plus populaires auxquels vous pouvez jouer en ce moment. Non seulement ce jeu es...
0 A.ré. Didacticiel
Sur les nombreux jeux de stratégie disponibles, 0 A.ré. parvient à se démarquer comme un titre complet et un jeu tactique très profond bien qu'il soit...