10 votes

Qu'est-ce que Alt+Shift+{?

Testé ceci sur CentOS et Ubuntu, si vous vous trouvez dans un répertoire avec beaucoup de fichiers

$ ls
day1.tar.gz  day2.tar.gz  day3.tar.gz  day4.tar.gz  day5.tar.gz  day6.tar.gz  day7.tar.gz  day8.tar.gz day9.tar.gz day10.tar.gz

Et vous appuyez sur Alt+Shift+{ cela complétera automatiquement chaque nom de fichier awk

complète à :

 day{1{0.tar.gz,.tar.gz},2.tar.gz,3.tar.gz,4.tar.gz,5.tar.gz,6.tar.gz,7.tar.gz,8.tar.gz,9.tar.gz}

et

day1

complètera à :

day1{0.tar.gz,.tar.gz}

Questions : Qu'est-ce que c'est? Comment cela s'appelle-t-il? Où est-ce utile? Comment puis-je le configurer? Puis-je le faire pour des fichiers qui se terminent par une sous-chaîne qui ne commence pas par une?

9voto

Damian Powell Points 315

En Bash, il effectue la fonction readline complete-into-braces.

L'expansion d'accolades est un moyen utile d'abréger une référence à plusieurs fichiers.

Par exemple :

ls -l /chemin/vers/dir/*.{c,h}

afficherait tous les fichiers se terminant par ".c" ou ".h".

D'après man bash:

complete-into-braces (M-{)
Effectue la complétion de nom de fichier et insère la liste des complétions possibles entre des accolades pour que la liste soit disponible pour l'interpréteur de commandes (voir l'expansion d'accolades ci-dessus).

et

Expansion d'accolades
L'expansion d'accolades est un mécanisme par lequel des chaînes arbitraires peuvent être générées. Ce mécanisme est similaire à l'expansion de chemin d'accès, mais les noms de fichiers générés n'ont pas besoin d'exister. Les motifs à élargir par accolades prennent la forme d'un préambule facultatif, suivi soit d'une série de chaînes séparées par des virgules, soit d'une expression de séquence entre une paire d'accolades, suivie d'un post-scriptum facultatif. Le préambule est préfixé à chaque chaîne contenue entre les accolades, et le post-scriptum est ensuite ajouté à chaque chaîne résultante, en s'étendant de gauche à droite.

Les expansions d'accolades peuvent être imbriquées. Les résultats de chaque chaîne élargie ne sont pas triés ; l'ordre de gauche à droite est préservé. Par exemple, a{d,c,b}e s'étend en `ade ace abe'.

La complétion, par définition, complète donc elle fonctionne avec des fichiers qui commencent par une chaîne.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X