Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Aide pour un script shell
Envoyé par: vanitom

Bonjour,

J'ai un script shell à faire et je ne sais pas du tout par où commencer.

Voici la situation : Il faut quand dans un répertoire donnée que j'exécute un programme pour tous les fichiers ayant une extension définie.

Voilà alors si quelqu'un à une idée, je suis preneur.
Merci d'avance

Poste le Friday 6 April 2007 14:50:14
Répondre     Citer    
Re: Aide pour un script shell

Utiliser le motclé foreach du shell?

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Friday 6 April 2007 16:47:12
Répondre     Citer    
Re: Aide pour un script shell
Envoyé par: oudoubah

Le mot clé foreach n'est pas connu par tous les shells.

Cela ressemble à du TP comme question.

On peut s'en sortir avec un simple for var in liste do plein_de_choses done
Jusque là, c'est juste un problème de syntaxe (un poil de lecture de développement shell que tu trouveras sur l net. D'ailleurs, ce sera nécessaire pour corriger ma commande).
Maintenant pour construire la liste, on peut utiliser $() ou `` (voir là aussi une page sur le développement shell).

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Friday 6 April 2007 17:32:15
Répondre     Citer    
Re: Aide pour un script shell
Envoyé par: Fanch

Citation
oudoubah
Cela ressemble à du TP comme question.
Je dirais même plus, ça sent la question de TP ; mais dans quelle formation peut-on bien commencer à faire du shell en Avril ?!!!





------- <br />
La meilleure façon de prédire le futur, c'est de l'inventer ~ Alan Kay

Poste le Friday 6 April 2007 17:45:24
Répondre     Citer    
Re: Aide pour un script shell
Envoyé par: tg(y)

Si c'est pour agir sur tous les fichiers .ext, c'est trozimple :
for fichier in *.ext ; do toto_pouet $fichier ; done ;

Ça, c'est fait. :-)

Poste le Friday 6 April 2007 18:38:44
Répondre     Citer    
Re: Aide pour un script shell
Envoyé par: Sve@r

Citation
tg(y)
Si c'est pour agir sur tous les fichiers .ext,
c'est trozimple :
for fichier in *.ext ; do
toto_pouet $fichier ; done ;

Ça, c'est fait.
Eh ben non, pas aussi simple que ça !!!

Imagine que t'aies dans ton répertoire un fichier nommé "nom compose.txt" ben ta boucle "for" traitera ce fichier en 2 passes
- passe 1 => la variable "fichier" contient la chaîne "nom"
- passe 2 => la variable "fichier" contient la chaîne "compose.txt"
Et aucune des deux passes n'aura traité le fichier en question...

Voici la bonne syntaxe
ls *.ext |while read fichier ; do
toto_pouet $fichier ; done ;
:chef:

L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Wednesday 11 April 2007 18:21:56
Répondre     Citer    
Re: Aide pour un script shell
Envoyé par: duff

Salut,

Essaye un truc comme ça:

find /ton/rep -type f -name \*.ext -exec toto_pouet {} \;

Tu cherches tous les fichiers normaux dont le nom est *.ext et pour chaque fichier trouvé, tu lances la commande toto_pouet.

Il existe énormément d'options pour le find, je t'invite regarder la doc pour finaliser ta recherche. Attention, le find va dans les sous-répertoires, il y a des options pourl'éviter.

Duff

Poste le Thursday 12 April 2007 14:16:45
Répondre     Citer    
Re: Aide pour un script shell
Envoyé par: NJILLE

salut les gars :-), je viens de commencer la programmation des scripts shell, je n'arrive pas à compiler le script qui permet de s'executer lui même en l'envers?-(

Poste le Saturday 14 April 2007 19:50:00
Répondre     Citer    
Re: Aide pour un script shell
Envoyé par: nicola

Un script ne se compile pas, justement. Il est interprété.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Saturday 14 April 2007 20:26:58
Répondre     Citer    
Re: Aide pour un script shell
Envoyé par: Sve@r

Citation
NJILLE
salut les gars , je viens de commencer la
programmation des scripts shell, je n'arrive pas à
compiler le script qui permet de s'executer lui
même en l'envers

Un script qui permet de s'exécuter lui-même à l'envers ?
T'es franchement un winner toi !!!yawning smiley)

Bon, t'as écris un script. Il se nomme "toto.sh"
T'as une action à faire une seule fois: "chmod a+x toto.sh"

Ensuite, chaque fois que tu voudras exécuter ton script, il te faudra taper
"./toto.sh" (sans les guillemets)


L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Wednesday 18 April 2007 14:26:08
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Aide pour un script shell
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons