Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Extension d'accolade

L'expansion la plus étrange s'appelle peut-être extension d'accolade. Avec lui, vous pouvez créer plusieurs chaînes de texte à partir d'un modèle contenant des accolades. Voici un exemple :



[moi@linuxbox ~]$ echo Avant-{A,B,C}-Arrière

Avant-A-Arrière Avant-B-Arrière Avant-C-Arrière

[moi@linuxbox ~]$ echo Avant-{A,B,C}-Arrière

Avant-A-Arrière Avant-B-Arrière Avant-C-Arrière


Les motifs à développer avec une accolade peuvent contenir une partie de début appelée un préambule et une partie de fuite appelée un post-scriptum. L'expression d'accolade elle-même peut contenir soit une liste de chaînes séparées par des virgules, soit une plage d'entiers ou de caractères uniques. Le motif ne doit pas contenir d'espaces blancs intégrés. Voici un exemple utilisant une plage d'entiers :



[moi@linuxbox ~]$ echo Nombre_{1..5}

Numéro_1 Numéro_2 Numéro_3 Numéro_4 Numéro_5

[moi@linuxbox ~]$ echo Nombre_{1..5}

Numéro_1 Numéro_2 Numéro_3 Numéro_4 Numéro_5


Les nombres entiers peuvent également être zéro-rembourré ainsi:



[moi@linuxbox ~]$ écho {01..15}

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15

[moi@linuxbox ~]$ écho {01..15}

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15


[moi@linuxbox ~]$ écho {001..15}

001 002 003 004 005 006 007 008 009 010 011 012 013 014 015

[moi@linuxbox ~]$ écho {001..15}

001 002 003 004 005 006 007 008 009 010 011 012 013 014 015

Une série de lettres dans l'ordre inverse :



[moi@linuxbox ~]$ écho {Z..A}

ZYXWVUTSRQPONMLKJIHGF EDCBA

[moi@linuxbox ~]$ écho {Z..A}

ZYXWVUTSRQPONMLKJIHGF EDCBA


Les extensions d'accolades peuvent être imbriquées :



[moi@linuxbox ~]$ faire écho a{A{1,2},B{3,4}}b

aA1b aA2b aB3b aB4b

[moi@linuxbox ~]$ faire écho a{A{1,2},B{3,4}}b

aA1b aA2b aB3b aB4b


Alors à quoi cela sert-il ? L'application la plus courante consiste à faire des listes de fichiers ou de répertoires à créer. Par exemple, si nous étions photographes et avions une grande collection d'images que nous voulions organiser en années et en mois, la première chose que nous pourrions faire serait de créer une série de répertoires nommés au format numérique « Année-Mois ». De cette façon, les noms des répertoires seront triés par ordre chronologique. Nous pourrions taper une liste complète de répertoires, mais c'est beaucoup de travail et c'est aussi source d'erreurs. Au lieu de cela, nous pourrions faire ceci:


image

[moi@linuxbox ~]$ Photos de mkdir

[moi@linuxbox ~]$ cd photos

[moi@linuxbox Photos]$ mkdir {2007..2009}-{01..12}

[moi@linuxbox Photos]$ ls


2007-01

2007-07

2008-01

2008-07

2009-01

2009-07

2007-02

2007-08

2008-02

2008-08

2009-02

2009-08

2007-03

2007-09

2008-03

2008-09

2009-03

2009-09

2007-04

2007-10

2008-04

2008-10

2009-04

2009-10

2007-05

2007-11

2008-05

2008-11

2009-05

2009-11

2007-06

2007-12

2008-06

2008-12

2009-06

2009-12


Assez lisse !


Meilleur système d'exploitation Cloud Computing chez OnWorks :