Script shell exclure fichier
Résolu
bonjour
j'ai un script qui étrangement ne fonctionne pas
ce script devrait me traiter uniquement les fichier avec un nom ne commençant pas par "OGL_", malheureusement ces fichier (qui ont un nom commençant par OGL_" sont traité quand même
j'ai également changer for file in [^$prefix]* en mettant "OGL_" en dur (comme cela : for file in [^OGL_]*) mais pas d'amélioration
merci de votre aide
j'ai un script qui étrangement ne fonctionne pas
#!/bin/sh prefix="OGL_" for file in [^$prefix]* do echo $file done
ce script devrait me traiter uniquement les fichier avec un nom ne commençant pas par "OGL_", malheureusement ces fichier (qui ont un nom commençant par OGL_" sont traité quand même
j'ai également changer for file in [^$prefix]* en mettant "OGL_" en dur (comme cela : for file in [^OGL_]*) mais pas d'amélioration
merci de votre aide
Configuration: Linux Kubuntu 7.04 Firefox 2.0.0.6
6 réponses
-
Bonjour,
il ne te manquerais pas une commande 'ls' tant ton script ? -
ModérateurSalut,
La négation s'obtient avec "!" (point d'exclamation) :#!/bin/sh prefix="OGL_" for file in [!$prefix]* do echo $file done
;-))
-
tu peut en dire plus stp
-
j'ai dans le repertoire que je traite les fichier
GPUtruc.ppp GPUchose.ppp OGL_GPUmachin.ppp automodif.sh
automodif est mon script
quand je met " for file in [^$prefix]* " il me traite tout les fichier sauf mon script, donc celui commençant par OGL aussi
quand je met " for file in [!$prefix]* " il ne me traite que mon script...
...??? -
ModérateurEssaye alors :
for file in $(ls *.ppp | grep -v "$prefix"); do ...
;-))
PS. Le point d'exclamation n'étant pas la bonne solution dans ce cas là ;-) -
Merci , ça marche