Forum debian-fr.org

Rechercher:

* Connexion   * M’enregistrer

* FAQ    * Rechercher





Poster un nouveau sujet Répondre au sujet  [ 14 messages ] 
Auteur Message
 Sujet du message: zsh
MessagePosté: 02 Déc 2011 10:57 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 6902
Localisation: Grenoble
Note pour lol : ne t'inquiète ce que je met ici partiras sur le wiki dès que j'aurais le temps de mettre un peu de forme dans tout ça.

Je crée ce sujet pour parler un peu de zsh.

Quand je parle de "vrais shell" ou de ce que je fais quand je suis en CLI dans 92,08 % des cas, je parle de l'utilisation de zsh.

L'un des principaux trucs de bien avec zsh c'est le globbing étendu. Pour s'en servir il faut utiliser les options EXTENDEDGLOB et NULL_GLOB comme ceci :
Code:
setopt EXTENDEDGLOB NULL_GLOB

ça c'est à placer dans ${HOME}/.zshrc
avec cela on peut utiliser le très connu :
Code:
cmd **/*

qui va passer à la commande cmd tout les fichiers du répertoire courant et des répertoires en dessous. Il est possible de l'obtenir aussi en bash 4 ou superieur (le bash de squeeze possède cette option) grâce à l'option shopt -s globstar).

Mais on peut faire des choses bien plus fines :
Code:
du -sh *(.D)

Si je veux pas les fichier cachés :
Code:
du -sh *(.)

Si je ne veux que les répertoires cachés ou non :
Code:
du -sh *(/D)

Si je ne veux pas les dossiers cachés :
Code:
du -sh *(/)


Autrement dis :
  • / pour chercher les dossiers
  • . pour les fichiers (sans les dossiers)
  • D pour prendre en compte les noms qui commencent par . (et qui sont donc cachés)
  • N permet de ne pas avoir d'erreur si aucune correspondance n'est trouvée
Il y en a pleins d'autres. Vous voulais en savoir plus ?
Code:
man zshexpn


C'est spécifique à zsh (zsh et bash ne permettent pas tout cela) donc n'allez pas lancer ça dans votre bash en me demandant pourquoi mes commandes ne marchent pas.

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 02 Déc 2011 14:26 
Hors ligne
Vraiment, particulièrement bavard(e)!

Inscription: 06 Mar 2011 21:57
Messages: 2296
MisterFreez a écrit:
Vous voulais en savoir plus ?


Perso, je veux toujours en savoir plus, donc merçi :ugeek: de partager tes connaissances avec nous !


Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 02 Déc 2011 19:26 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 6902
Localisation: Grenoble
Rantanplan aussi ! a écrit:
Par ailleurs je n'ai aucune idée des temps d'exécution pour les performances [des globbings] etc

Le problème n'est pas vraiment leurs performances intrinsèques, mais plutôt de ce que tu en fais.

Code:
print -l **/*

ne va rien t'afficher pendant un certain temps puis il va tout t'afficher d'un coup alors que :
Code:
find .

afficheras les fichiers au fure et à mesure.
Si tu veut donner la liste des paquets à un programme (cmd) qui va pour chaque fichier lu sur l'entrée standard effectuer une action qui prend 1s :
Code:
print -l **/* | cmd

va prendre Ns + plus le temps initial (qui peut être long) N étant le nombre de fichiers. Alors que :
Code:
find . | cmd

va prendre nettement moins de temps car dès que find trouve un fichier il l'envoie à cmd, ce dernier commence son traitement alors que find cherche le second fichier et ainsi de suite. Il mettras un peu plus de N secondes.

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 02 Déc 2011 21:46 
Hors ligne
Très bavard(e)!
Avatar de l’utilisateur

Inscription: 25 Oct 2011 15:33
Messages: 251
Localisation: 92 - Hauts de Seine
Yes MisterFreez,

Comme tetrix j'apprécie positivement ton partage de connaissance, ça m'intéresse ! (comme tjs c'est le temps d'étudier tout ça qui fait défaut)

Ok ! maintenant je comprends bien pourquoi tu préfereras find dans certains cas par rapport au globbing.

Je n'ai jamais utilisé zsh (j'ai pas ressenti le besoin de qque chose de "+ mieux" que bash)
Code:
aptitude search zsh
p   fatrat-czshare    - fatrat plugin allowing download and upload
p   zsh               - Interpréteur de commandes doté de nombreus
p   zsh-beta          - A shell with lots of features (dev tree) 
p   zsh-beta-doc      - zsh beta documentation - info/HTML format
p   zsh-dbg           - Interpréteur de commandes doté de nombreus
p   zsh-dev           - Un interpréteur de commandes avec beaucoup
p   zsh-doc           - Documentation de zsh aux formats info et H
p   zsh-static        - A shell with lots of features (static link
p   zshdb             - debugger for Z-Shell scripts


Si je veux tester zsh, j'installe simplement zsh et zsh-doc, et je pourrais faire un
Code:
zsh

et tester tes commandes, c'est aussi simple que ça ?

Je ne connaissais pas "l'entrisme", si j'avais voulu dire la même chose que toi, j'aurais dit "de plus, je fais du prosélytisme pour zsh".

Le prosélytisme donne (éventuellement) des prosélytes, mais je ne sais pas comment qualifier ceux sur qui l'entrisme a produit ses fruits : des entriturés ? :lol: (Edit : des entrismés ? endoctrinés ? des convertis ( ce serait marrant), bon te casse pas la tête avec ça, hein ! je me tapes un délire là dessus )

Par contre je ne sais pas comment on appelle ceux qui pratiquent le prosélytisme, de prosélyteurs peut-être ? (Edit : ça sonne pas bien ! peut-être des prosélytistes ? ou des prêcheurs tout simplement ? no lo sabe )

Précise juste que les commandes que tu donnes sont pour zsh quand c'est le cas, sinon on ne se comprend pas !

Bon, faut que j'aille bosser tes soluces awk, pas encore eu le temps avec tout ça !

Byby

_________________
Hard - Asus eeePC 1000H 1 Gib / 160 Gb / 500 Gb USB -Intel Atom N270-32b-1.6 Ghz-CG:Intel 945GME Express Integrated rev 03 - Audio Intel N10/ICH 7 rev 02 Soft - Debian Squeeze stable, Gnome, eCryptfs > /home/users - Wxp->roue de secours


Dernière édition par Rantanplan aussi ! le 12 Déc 2011 06:04, édité 2 fois.

Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 02 Déc 2011 22:53 
Hors ligne
Grand posteur
Avatar de l’utilisateur

Inscription: 26 Aoû 2010 23:32
Messages: 100
Bonsoir Misterfreez et merci pour le partage des notions.

J'utilise également zsh depuis quelques années, probablement à cause du tuto d'Alexis de Lattre, et je voulais apprendre à mieux m'en servir, donc je lis tes astuces avec plaisir.

Comme il est prévu que cela apparaisse sur le wiki, pourrais-tu également préciser ce qu'est le globbing étendu ?

Je n'ai pas les mêmes comportements pour "du". Par exemple :

Code:
du *(/D)


m'affiche la taille de tous les fichiers récursivement :shock:


Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 02 Déc 2011 23:55 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 6902
Localisation: Grenoble
C'est ma faut c'est l'option -s qui va rend du non récursif, pas la faute au shell.

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 03 Déc 2011 00:04 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 6902
Localisation: Grenoble
Rantanplan aussi ! a écrit:
Si je veux tester zsh, j'installe simplement zsh et zsh-doc, et je pourrais faire un
Code:
zsh

et tester tes commandes, c'est aussi simple que ça ?

Oui.

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 03 Déc 2011 00:59 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 6902
Localisation: Grenoble
Encore un truc intéressant. Quand on commence à faire du shell et qu'on lis pas les man on a tendance à faire ça :
Code:
var=$(echo $var | sed -e 's/-/_/g)

Pour remplacer le - par des _ dans le contenu d'une variable (oui je sais tr permet aussi de le faire).

zsh possède une syntaxe pour ne pas avoir à utiliser sed :
Code:
v='c-o-u-c-o-u'
echo ${v/-/_} # affiche c_o-u-c-o-u
echo ${v:s/-/_} # affiche c_o-u-c-o-u
echo ${v:gs/-/_} # affiche c_o_u_c_o_u


Bon ça c'est bien sympa, mais si j'en parle c'est uniquement pour montrer autre chose qui déchire. Souvent dans la vie quotidienne sur son shell on a à faire du renommage en masse est c'est pas génial à faire, sauf sous zsh !
Première chose :
Code:
autoload -U zmv

cela permet d'avoir la commande zmv le mv amélioré de zsh. Je pense que l'autodocumentation montre des exemples très parlant :
Code:
$ zsh
Usage:
  zmv [OPTIONS] oldpattern newpattern
where oldpattern contains parenthesis surrounding patterns which will
be replaced in turn by $1, $2, ... in newpattern.  For example,
  zmv '(*).lis' '$1.txt'
renames 'foo.lis' to 'foo.txt', 'my.old.stuff.lis' to 'my.old.stuff.txt',
and so on.  Something simpler (for basic commands) is the -W option:
  zmv -W '*.lis' '*.txt'
This does the same thing as the first command, but with automatic conversion
of the wildcards into the appropriate syntax.  If you combine this with
noglob, you don't even need to quote the arguments.  For example,
  alias mmv='noglob zmv -W'
  mmv *.c.orig orig/*.c

Donc on décris une expression régulière pour décrire la forme des fichiers à renommer puis on indique comment les renommer.
On peut même faire des choses comme ça :
Code:
c=1
zmv '(*).JPEG' 'photo$((c++)).jpg'

Dernière astuce retirer les espace de tout les noms de fichiers du répertoire courant :
Code:
zmv '(*)' '${1:gs/ //}'

zmv supporte certaines options très classique de mv (-i -f -v), il possède une option très pratique -n qui permet de ne pas exécuter la commande mais de vérifier si les arguments font bien ce que l'on veux.

Il existe aussi zcp et zln.

C'est un bon exemple de la forte cohérence de la syntaxe de zsh. Il n'y a pas de cas particulier ce que l'on peut faire sur une variable on peut le faire sur n'importe quel variable dans n'importe quel contexte.

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 03 Déc 2011 14:10 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 13 Mar 2009 08:30
Messages: 9920
Localisation: Madagascar - Isalo
Salut,
MisterFreez a écrit:
Note pour lol : ne t'inquiète ce que je met ici partiras sur le wiki dès que j'aurais le temps de mettre un peu de forme dans tout ça.

Je ne suis pas inquiet!
J'utilise ZSH depuis mes débuts ici (je me demande si ce n'est pas toi qui m'y a poussé).
Par contre, je suis heureux de découvrir toutes tes astuces, je n'utilise pas 1% des capacités de ZSH (à part le joli prompt... :mrgreen: ) et c'est dommage.

Dans un script, pour bénéficier de la puissance de zsh, il suffit de mettre ça:
#!/bin/zsh ?

Autre question, est-il possible dans un script de passer (en cours de route) de bash à zsh ?

Rantanplan aussi ! a écrit:
...je ne sais pas comment on appelle ceux qui pratiquent le prosélytisme...
Des casse-coui.... :005

_________________
Le wiki du forum! - Pastbin && service d'hébergement d'images
:005 Référencement sous MsDos... :happy-jumpgreen:


Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 04 Déc 2011 00:01 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 6902
Localisation: Grenoble
lol a écrit:
Salut,
MisterFreez a écrit:
Note pour lol : ne t'inquiète ce que je met ici partiras sur le wiki dès que j'aurais le temps de mettre un peu de forme dans tout ça.

Je ne suis pas inquiet!
J'utilise ZSH depuis mes débuts ici (je me demande si ce n'est pas toi qui m'y a poussé).
Par contre, je suis heureux de découvrir toutes tes astuces, je n'utilise pas 1% des capacités de ZSH (à part le joli prompt... :mrgreen: ) et c'est dommage.

Pareil pour moi, régulièrement je lis des trucs sur zsh pour découvrir un ou deux nouveaux trucs.

lol a écrit:
Dans un script, pour bénéficier de la puissance de zsh, il suffit de mettre ça:
#!/bin/zsh ?

Non
Code:
#!/usr/bin/zsh


lol a écrit:
Autre question, est-il possible dans un script de passer (en cours de route) de bash à zsh ?

Oui mais tu perd toutes les variables à chaque changement de shell.

Pour ajouter encore des trucs, il y a une système d'alias évolué en zsh avec les alias de suffixes et les alias globaux.

Les alias de suffixe se définissent avec l'option -s d'alias. Il se crée ainsi :
Code:
alias -s ext='cmd'

Il permet ensuite d'écrire des commandes de la forme (cmd peut évidement avoir des arguments) :
Code:
./path/to/file.ext

Qui exécuteras alors :
Code:
cmd ./path/to/file.ext

Par exemple avec l'alias :
Code:
alias -s pdf='xpdf'

un peut lire les fichiers pdf avec la commande :
Code:
./chemin/fichier.pdf


Les alias globaux permettent d'écrire des alias pour les utiliser ailleurs qu'en début de commande. L'exemple le plus classique c'est ça :
Code:
alias -g C='| wc -l'

ensuite une commande comme
Code:
lspci C

donneras la liste des périphériques PCI de l'ordinateur.

Mais il y a plus efficace que ça, les abréviations ! Ca c'est vraiment un truc dont je ne peux plus me passer. Dans mon .zshrc j'ai ça :
Code:
typeset -Ag abbreviations
abbreviations=(
  "Ia"    "| awk"
  "Ig"    "| grep"
  "Ip"    "| $PAGER"
  "Ih"    "| head"
  "It"    "| tail"
  "Is"    "| sort"
  "Iw"    "| wc"
)

Après avoir écris une commande il me suffit de taper "Ig " (donc un I majuscule suivi d'un g et d'un espace pour voir ajouter "| grep" (à la place de Ig). C'est trèa agréable à utiliser.

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 04 Déc 2011 01:56 
Hors ligne
Très bavard(e)!
Avatar de l’utilisateur

Inscription: 25 Oct 2011 15:33
Messages: 251
Localisation: 92 - Hauts de Seine
Salut MisterFreeZ,

Bon, j'ai rien contre zsh que je me suis d'ailleurs installé pour au moins pouvoir tester tes commandes le cas échéant

MisterFreez a écrit:
[...]
zsh possède une syntaxe pour ne pas avoir à utiliser sed :
Code:
v='c-o-u-c-o-u'
echo ${v/-/_} # affiche c_o-u-c-o-u
echo ${v:s/-/_} # affiche c_o-u-c-o-u
echo ${v:gs/-/_} # affiche c_o_u_c_o_u

Là c'est même légèrement + rapide sous bash :
Code:
bash --version
GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)

v='c-o-u-c-o-u'
echo ${v/-/_}
c_o-u-c-o-u

echo ${v//-/_}
c_o_u_c_o_u

MisterFreez a écrit:
[...]
On peut même faire des choses comme ça :
Code:
c=1
zmv '(*).JPEG' 'photo$((c++)).jpg'

Ici zsh remporte le match haut la main, perso sous bash j'ai pas mieux que ça
Code:
####### GNU bash, version 4.1.5

find -iname '*.jpeg' | sort

./fichier1322954852.JPEG
./Rep_1/fichier1322954853.JPEG
./Rep_2/fichier1322954854.JPEG
./Rep_3/fichier1322954855.JPEG

Code:
####### GNU bash, version 4.1.5

c=1 ; for file in $(find -name '*.JPEG') ; do mv ${file} ${file%/*}/photo_$((c++)).jpeg ; done

Code:
####### GNU bash, version 4.1.5

find -iname '*.jpeg' | sort

./photo_3.jpeg
./Rep_1/photo_1.jpeg
./Rep_2/photo_2.jpeg
./Rep_3/photo_4.jpeg

Si tu penses qu'on peut le faire directement avec find (je ne pense pas, mais je n'en suis pas certain) donne une autre solution que celle que tu avais déjà donné et qui ne marche pas sous bash comme sous zsh ( ben oui, je l'ai maintenant, j'suis chiand hein ? :mrgreen: :lol: )
Code:
zsh 4.3.10      ou      GNU bash, version 4.1.5(1)
find . -name '*.jpeg' -exec var=\{\} && mv \{\} ${var/.jpeg/.JPEG} \;
find: Paramètre manquant pour « -exec »

Je l'avais noté en me disant : "super !" puis le jour où j'en ai eu besoin j'ai constaté avec dépit que ça ne fonctionnait pas, groumfff ...

Pour le reste c'est pareil, on peut faire avec bash, c'est un peu plus long c'est vrai.

Sinon j'ai remarqué que le man de szh fait 314 lignes là où le man de bash en compte 4345 ! ( j'ai une montagne de travail, mais j'ai pas un shell Corse moi :lol: )

Je ne sais pas pourquoi il y a une telle différence ? il doit bien y avoir une raison !

En tout cas moi je reste sous Bash, je l'adore malgrés ses défauts

Ciao :033

_________________
Hard - Asus eeePC 1000H 1 Gib / 160 Gb / 500 Gb USB -Intel Atom N270-32b-1.6 Ghz-CG:Intel 945GME Express Integrated rev 03 - Audio Intel N10/ICH 7 rev 02 Soft - Debian Squeeze stable, Gnome, eCryptfs > /home/users - Wxp->roue de secours


Dernière édition par Rantanplan aussi ! le 14 Avr 2012 00:43, édité 6 fois.

Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 04 Déc 2011 02:02 
Hors ligne
Très bavard(e)!
Avatar de l’utilisateur

Inscription: 25 Oct 2011 15:33
Messages: 251
Localisation: 92 - Hauts de Seine
lol a écrit:
[...]
Rantanplan aussi ! a écrit:
...je ne sais pas comment on appelle ceux qui pratiquent le prosélytisme...
Des casse-coui.... :005

S'il n'y avait qu'eux !!! :005 :005
lol a écrit:
Dans un script, pour bénéficier de la puissance de zsh, il suffit de mettre ça:
#!/bin/zsh ?

Non ... il faut toujours rajouter à des endroits stratégiques des esprits malicieux miniatures qui pédallent trés trés vite quand il faut ... :mrgreen: :005

_________________
Hard - Asus eeePC 1000H 1 Gib / 160 Gb / 500 Gb USB -Intel Atom N270-32b-1.6 Ghz-CG:Intel 945GME Express Integrated rev 03 - Audio Intel N10/ICH 7 rev 02 Soft - Debian Squeeze stable, Gnome, eCryptfs > /home/users - Wxp->roue de secours


Dernière édition par Rantanplan aussi ! le 12 Déc 2011 06:00, édité 7 fois.

Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 04 Déc 2011 02:31 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 6902
Localisation: Grenoble
Rantanplan aussi ! a écrit:
Là c'est même légèrement + rapide sous bash :
Code:
bash --version
GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)

v='c-o-u-c-o-u'
echo ${v/-/_}
c_o-u-c-o-u

echo ${v//-/_}
c_o_u_c_o_u

Tu viens de m'apprendre une syntaxe (ça marche aussi sous zsh). Mais réglons une bonne foie pour toute un point je n'ai rien contre bash qui est un très bon shell dont je suis loin de manier les subtilités. De même pour ksh d'ailleurs.

Je dis juste que j'adore zsh et je donne mes trucs et astuces sur lui. Les pointes que je peut distiller à l'encontre des autres shells sont des galéjades (mis à par quand il s'agit de fish).

Un des points qui me semble dommageable en bash c'est ça :
Code:
$ v='c_o_u-c_o-u.txt'
$ echo ${${v%%.txt}//-/_}
bash: ${${v%%.txt}//-/_} : mauvaise substitution

alors qu'en zsh :
Code:
% v='c_o_u-c_o-u.txt'
% echo ${${v%%.txt}//-/_}
c_o_u_c_o_u


Rantanplan aussi ! a écrit:
Sinon j'ai remarqué que le man de szh fait 314 lignes là où le man de bash en compte 4345 ! ( j'ai une montagne de travail, mais j'ai pas un shell Corse moi :lol: )

Sauf que le man de zsh est découpé en plusieurs pages. Donc à jouer à qui a la plus grosse il faudrait regarder zshall et là je viens de vérifier le miens fait 15 228 lignes ...

Mais bon. Il faut comprendre que zmv et zcp ne sont qu'un minuscule fragment des fonctionnalités builtin de zsh, il possède sont propre client ftp et un plus ou moins équivalent à netcat. Je ne me suis jamais servi ni de l'un ni de l'autre pour le moment.

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
 Sujet du message: Re: zsh
MessagePosté: 04 Déc 2011 02:52 
Hors ligne
Très bavard(e)!
Avatar de l’utilisateur

Inscription: 25 Oct 2011 15:33
Messages: 251
Localisation: 92 - Hauts de Seine
Perso j'aime la diversité, alors zsh, bash, ksh etc ..., c'est tant mieux ! J'avais bien compris que tu aimais zsh, j'ai jamais pensé que tu avais une dent contre bash

Yes pour le pb de substitution, I'm all right with you

Edit: sinon un seul % est suffisant (+ précis en fait)
Code:
######### zsh 4.3.10
v='c_o_u-c_o-u.txt'
echo ${${v%.txt}//-/_}
c_o_u_c_o_u

Edit : ces possibilités de substitutions, de copie étendues etc... peuvent inciter à passer à zsh. Bons arguments en sa faveur. +++


Par contre il est impossible de connaitre tous les shells, faut juste faire un choix (ou être capable de jongler avec les shell, c'est pas mon cas), parfois un peu arbitrairement, parfois à coup de pied au c... (j'évite les gros mots parce que je vais me faire gronder :mrgreen: , mais j'adore les grots mots :033 ) comme au boulot, où "l'autre là" il a décidé que tel shell me conviendra trés bien.(Edit : tant qu'on tombe pas sur un "shell" µsoft on peut considérer qu'on est un gros veinard )

J'ai pas vraiment choisi bash, mais bon il me convient ...

A part ça, effectivement
Code:
man zshall

18 898 lignes ! gloup ... bon, je reste sous bash !

Pas tout testé de ce que tu as mis + haut

Salut

_________________
Hard - Asus eeePC 1000H 1 Gib / 160 Gb / 500 Gb USB -Intel Atom N270-32b-1.6 Ghz-CG:Intel 945GME Express Integrated rev 03 - Audio Intel N10/ICH 7 rev 02 Soft - Debian Squeeze stable, Gnome, eCryptfs > /home/users - Wxp->roue de secours


Dernière édition par Rantanplan aussi ! le 07 Déc 2011 02:25, édité 12 fois.

Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 14 messages ] 

Index du forum » Forums d'aide » Trucs et Astuces


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Aller à:  
Flux RSS Flux RSS Liste des flux Liste des flux
Powered by phpBB® Forum Software © phpBB Group
Traduction par: phpBB-fr.com
SEO
[ Time : 0.161s | 11 Queries | GZIP : Off ]