#1 Le 18/08/2013, à 21:48
- omnimax
résolu Zsh shopt -s extglob ???
Bonsoir,
Sous bash après avoir tapé
shopt -s extglob
Cette commande consistant à tout copier sauf les extensions en JPG fonctionne
cp !(*.jpg) /home/user/
Par contre sous zsh
shopt -s extglob
n'est pas reconnu
Et la commande avec
cp !(*.jpg) /home/user/
ne fonctionne pas car il ne reconnait pas !(expression).
J'ai déjà essayé de mettre setopt nocaseblog dans mon .zshrc (il semblerait que c.est l'équivalent pour l'option extglob) mais sans réussite.
Dans set -o j'ai aussi essayé pas mal d' options mais cela n'a pas fonctionné.
Que dois-je faire ?
Merci pour votre réponse.
Dernière modification par omnimax (Le 20/08/2013, à 09:36)
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#2 Le 19/08/2013, à 11:41
- omnimax
Re : résolu Zsh shopt -s extglob ???
personne pour ce sujet ?
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#3 Le 19/08/2013, à 17:13
- Watael
Re : résolu Zsh shopt -s extglob ???
salut,
man zshexpn /FILENAME GENERATION :
^x (Requires EXTENDED_GLOB to be set.) Matches anything except the pattern x. This has a
higher precedence than `/', so `^foo/bar' will search directories in `.' except `./foo' for
a file named `bar'.
plus bas, sont décrits les ksh-like Glob Operators
Dernière modification par Watael (Le 19/08/2013, à 17:14)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 19/08/2013, à 20:54
- omnimax
Re : résolu Zsh shopt -s extglob ???
salut Watael,
merci pour le man j'ai essayé avec
cp *.*^*.pdf ~/Desktop
cela n'a pas fonctionné chez moi (extendedglob étant activé)
plus bas j'ai lu
(Requires EXTENDED_GLOB to be set.) Match anything that matches
the pattern x but does not match y. This has lower precedence
than any operator except `|', so `*/*~foo/bar' will search for
all files in all directories in `.' and then exclude `foo/bar'
if there was such a match. Multiple patterns can be excluded by
`foo~bar~baz'. In the exclusion pattern (y), `/' and `.' are
not treated specially the way they usually are in globbing.
et là
cp *.*~*.pdf ~/Desktop
a parfaitement fonctionné
Dois je comprendre que ^x ne fonctionne que pour les répertoires comme le montre l'exemple dans le man ?
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#5 Le 19/08/2013, à 21:24
- MicP
Re : résolu Zsh shopt -s extglob ???
https://wiki.gentoo.org/wiki/Zsh/HOWTO
http://doc.ubuntu-fr.org/zsh
setopt extendedglob
Dernière modification par MicP (Le 19/08/2013, à 21:33)
Hors ligne
#6 Le 19/08/2013, à 21:28
- omnimax
Re : résolu Zsh shopt -s extglob ???
Non visiblement ce n'est pas ça, qui plus est dans le man on parle juste d'extendedglob
setopt kshglob
cp *.*^*.pdf ~/Desktop
zsh: no matches found: *.*^*.pdf
Dernière modification par omnimax (Le 19/08/2013, à 21:28)
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#7 Le 19/08/2013, à 21:30
- omnimax
Re : résolu Zsh shopt -s extglob ???
Visiblement, entre-temps, MicP tu as modifié ton message
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#8 Le 19/08/2013, à 21:34
- omnimax
Re : résolu Zsh shopt -s extglob ???
ceci marche :
cp ^*.pdf ~/Desktop
par contre ce que tu m'a donné en lien ne fonctionnait pas
cp ^*.(pdf) ~/Desktop
When option above is set, you are able to use extended globbing queries such as cp ^*.(tar|bz2|gz) .
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#9 Le 19/08/2013, à 21:35
- MicP
Re : résolu Zsh shopt -s extglob ???
...Visiblement, entre-temps, MicP tu as modifié ton message ...
je continue à chercher, mais je ne peux pas tester avec zsh.
Je viens juste de rajouter un lien qui était sur la doc d'ubuntu qui semble confirmer que c'est plutôt "extendedglob"
...ce que tu m'a donné en lien ne fonctionnait pas ...
Finalement, c'est quel lien le bon sur ces 2 là ?
https://wiki.gentoo.org/wiki/Zsh/HOWTO
http://doc.ubuntu-fr.org/zsh
Dernière modification par MicP (Le 19/08/2013, à 21:41)
Hors ligne
#10 Le 19/08/2013, à 21:49
- omnimax
Re : résolu Zsh shopt -s extglob ???
en fait cela marche (le lien gentoo), mais je trouve qu'il aurait pu l'expliquer
cp ^*.(pdf) ~/Desktop
ne marche pas car (pdf) =un motif unique
et
cp ^*.(pdf|xls|png) ~/Desktop)
fonctionne
donc pour un motif unique la bonne expression c'est :
cp ^*.pdf ~/Desktop
mais je vais relire la doc gentoo assidument ainsi que le man (même si c'est hyper longgggg )
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#11 Le 19/08/2013, à 23:54
- MicP
Re : résolu Zsh shopt -s extglob ???
J'ai finit par comprendre que c'est le premier lien (que j'avais effacé) qui ne marchait pas : celui qui proposait "setopt kshglob".
Effectivement, j'avais modifié mon post 10 mn après, ayant constaté que ça ne pouvait être ça.
Finalement, les deux liens proposés conviennent, et je suis peut-être allé bien loin chercher ce qui se trouvait tout simplement dans la doc de ce forum.
... même si c'est hyper longgggg ...
C'est vrai, c'est toujours comme ça avec des documentations qui semblent trop détaillées, mais on y trouve toujours un intérêt sur le long terme.
Si c'est pas sur le moment, il revient parfois des souvenirs qui permettent de régler des problèmes rapidement,
et dans ces moments là, on ne regrette plus du tout son investissement.
Hors ligne
#12 Le 20/08/2013, à 09:37
- omnimax
Re : résolu Zsh shopt -s extglob ???
Merci merci à vous deux
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne