Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/12/2010, 12h13   #1
Invité régulier
 
Inscription : avril 2005
Messages : 36
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 36
Points : 9
Points : 9
Envoyer un message via MSN à s_cherbani Envoyer un message via Yahoo à s_cherbani
Par défaut script shell unix (AIX)

Bonjour tout le monde.

Je cherche a faire un script shell unix (AIX) qui permet de balayer un répertoire qui lui même contient des sous-répertoire qui peuvent contenir des sous-répertoire. Je veux que me script me retourne le chemin complet de tout les répertoires qui contient des fichiers (des fichiers *.c et *.pc).

Merci pour votre aide.
s_cherbani est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 12h29   #2
Responsable Modération
 
Avatar de ok.Idriss
 
Homme Idriss Neumann
Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)
Inscription : février 2009
Messages : 1 971
Détails du profil
Informations personnelles :
Nom : Homme Idriss Neumann
Âge : 21
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)

Informations forums :
Inscription : février 2009
Messages : 1 971
Points : 5 956
Points : 5 956
Salut.

La commande find ?

Si tu dois créer ce script, sans te servir de la commande find, tu peux essayer de t'inspirer des réponses de ce thread et des exercices du forum shell.

Après, si tu bloques dans ton script, n'hésites pas à demander de l'aider en nous présentant ce que tu as fait.

Cordialement,
Idriss
ok.Idriss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 12h50   #3
Invité régulier
 
Inscription : avril 2005
Messages : 36
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 36
Points : 9
Points : 9
Envoyer un message via MSN à s_cherbani Envoyer un message via Yahoo à s_cherbani
Par défaut script shell

merci beaucoup pour ton aide je te tiens au courant
s_cherbani est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 13h09   #4
Invité régulier
 
Inscription : avril 2005
Messages : 36
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 36
Points : 9
Points : 9
Envoyer un message via MSN à s_cherbani Envoyer un message via Yahoo à s_cherbani
Par défaut script shell

voici une partie de mon script c'est la fonction principale

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function compil
{  
    for i in `ls `
    do
 
        if ( [[   -d $i ]] ) then
            cd $i
            t=`pwd`
                    ls *.*c 2>/dev/null
                        if [ $? = 0 ]
                        then
 
                        cp $t/* $HOME/src/$save/$i
 
                        cd $HOME/src/$save/$i
 
                            rm -f *.o
                            touch *c;
                            make;
                            if [ $? != 0 ]
                            then
 
                                echo "ERREUR DE COMPILATION DANS " $t>>$HOME/src/ERREUR_COMPILATION
                                echo "ERREUR DE COMPILATION DANS " $t>>$HOME/src/LOG_MAKE.log
                            else
 
                                echo "COMPILATION OK DU REP : "$t>>$HOME/src/LOG_MAKE.log
                            fi
 
                        else
                        save=$i
                            ls *.*c 2>/dev/null
                            if [ $? = 0 ]
                            then
                            #echo "ERREUR Makefile manquant dans :" $t>>$HOME/src/ERREUR_COMPILATION
                            #    echo "ERREUR Makefile manquant dans :" $t>>$HOME/src/LOG_MAKE.log
 
                            else
 
 
 
                                compil;
                            fi
                        fi
                fi
            cd ..
    done
}
s_cherbani est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 13h25   #5
Responsable Modération
 
Avatar de ok.Idriss
 
Homme Idriss Neumann
Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)
Inscription : février 2009
Messages : 1 971
Détails du profil
Informations personnelles :
Nom : Homme Idriss Neumann
Âge : 21
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)

Informations forums :
Inscription : février 2009
Messages : 1 971
Points : 5 956
Points : 5 956
Tout d'abord, comme N_Bah l'a très bien expliqué dans le thread que je t'ai fourni :

est préférable à :

Sinon, quel est ton problème ? Il faut nous donner plus de détails (quelles sont les erreurs, quel est le but recherché, etc).

Cordialement,
Idriss
ok.Idriss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 14h28   #6
Membre éclairé
 
Homme Lilian Herault
Architecte technique
Inscription : juin 2010
Messages : 215
Détails du profil
Informations personnelles :
Nom : Homme Lilian Herault
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Architecte technique
Secteur : Industrie

Informations forums :
Inscription : juin 2010
Messages : 215
Points : 335
Points : 335
Bonjour,

Je n'ai surement pas compris le besoin, mais quel intérêt de ne pas utiliser find, alors que c'est si "simple"... ?

Code :
1
2
 
find . -name "*.c" -exec dirname {} \; | sort -u
Lilian.
lilian_h est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/12/2010, 15h31   #7
Invité régulier
 
Inscription : avril 2005
Messages : 36
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 36
Points : 9
Points : 9
Envoyer un message via MSN à s_cherbani Envoyer un message via Yahoo à s_cherbani
Par défaut script shell

merci beaucoup lilian avec cette ligne de commande
je n'ai plus besoin de plusieurs lignes dans mon script
s_cherbani est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h39.


 
 
 
 
Partenaires

Hébergement Web