GNU/Linux >> Tutoriels Linux >  >> Linux

Les jokers sous Linux expliqués avec 10 exemples

Les caractères génériques, alias les 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 commande,  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 manière 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 n'importe quel nombre de caractères inconnus. Ceci est utile lorsque vous recherchez des documents ou des fichiers mais que vous ne vous souvenez que d'une partie de son nom.
  2. Le point d'interrogation (?) :Le (?) le caractère générique représente un seul caractère inconnu. Ceci est utile lorsque vous avez une liste de fichiers portant le même nom et que vous n'êtes pas sûr de quelques caractères.
  3. Les caractères entre crochets ([ ]) :Le ([ ]) le caractère générique - la 3ème parenthèse et non la 1ère parenthèse - est utilisé pour faire correspondre toutes les occurrences de caractères définis à l'intérieur des parenthèses. Cette option est pratique lorsqu'il s'agit de fichiers en majuscules et 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 que vous commencez à les utiliser vous-même.

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

Pour commencer, utilisons tous les différents 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*

Sortie :

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 My-Data et se terminant par une ou plusieurs occurrences de n'importe quel caractère.

$ ls My-Data*

Sortie :

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

$ ls M?N.sh

Sortie :

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

Sortie :

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

Désormais, pour booster votre efficacité, vous pouvez mélanger et associer 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 ???cake*

Sortie :

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 terminent par une ou plusieurs occurrences de n'importe quel caractère.

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

Donc, les commandes que nous allons utiliser sont :

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

Sortie :

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 du crochet, 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 premier, n'importe lequel de ces caractères [AEIOU] comme deuxième, suivi de N , et enfin se terminant par une ou plusieurs occurrences de n'importe quel caractère.

$ ls [MNLOP][AEIOU]N*

Sortie :

Remarquez comment le (*) le caractère générique aide uniquement à 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 de n'importe quel caractère, suivi de N , puis se terminant par une ou plusieurs occurrences de n'importe quel caractère.

$ ls *M?N*

Sortie :

Utilisation de caractères génériques pour faire correspondre l'ensemble 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 crochets vous permet de définir une plage de caractères en utilisant [-] 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 Pokémon.

Maintenant, pour trouver tous les noms de fichiers commençant par pokemon- 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]*

Sortie :

La partie [0-9] représente n'importe quel caractère numérique entre 0 à 9 .

La partie suivante [0-9a-zA-Z] représente n'importe quel nombre de caractères entre 0 à 9 , ou toute lettre minuscule entre a à z, ou une lettre majuscule entre A à Z .

Ainsi, si nous changeons [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]*

Sortie :

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]*

Sortie :

Cela correspond à tous les noms de fichiers commençant par pokemon- suivi de n'importe quel caractère numérique, puis de n'importe quel caractère autre que des lettres minuscules, suivi de n'importe quel caractère numérique, et enfin se terminant par une ou plusieurs occurrences de n'importe quel caractère.

Utilisation de [!a-z], nous nions l'ensemble de toutes les lettres minuscules. Désormais, les noms de fichiers sont mis en correspondance pour tout caractère qui n'est pas une lettre minuscule.

Conclusion

Cela nous amène donc à la fin de notre rapide aperçu des caractères génériques Linux et de leur utilisation. Pour tout résumer, en un mot, l'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 (?) Le caractère générique 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.


Linux
  1. Commande Linux cut expliquée avec 6 exemples

  2. Commande d'arrêt Linux expliquée avec des exemples

  3. Commande Linux nslookup expliquée avec des exemples

  4. Commande Linux Traceroute, expliquée avec des exemples

  5. La commande whoami sous Linux expliquée avec des exemples

Commande Tr sous Linux expliquée avec des exemples

w Commande expliquée avec des exemples sous Linux

La commande Wait sous Linux expliquée avec des exemples pratiques

Explication de la commande Linux tee (avec exemples)

La commande Linux csplit expliquée (avec des exemples)

Commande Linux tr avec exemples