Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/12/2019, à 19:07

philoeil

[RESOLU] Erreur syntaxe sur appel function dans shell et commande awk

Bonjour,

Dans l'appel suivant j'ai le message d'erreur

Ci-après la liste des noms des répertoires avec le nombre de doublons dans ce répertoire
Info3 : 
Repertoire doublon : /home/phil/Documents/JeCodeShell/ShellEssaiRepDblons/Racine/Rep1 ===>   8 doublons
awk: ligne de commande:12: (FILENAME=/home/phil/Documents/JeCodeShell/ShellEssaiRepDblons/ActionDoublons.txt FNR=32) fatal : function `nombreficrep' not defined

LE code en rapport :

echo "Ci-après la liste des noms des répertoires avec le nombre de doublons dans ce répertoire"
awk -F' § ' 'BEGIN { print "Info3 : " }

{
     if (/^\s*§+/) { next }
     else
         { NomRep[$1]=$1; NbRepDbl[$1]+=1 }
}
END { 
for ( Dblon in NbRepDbl) {
    printf("Repertoire doublon : %15s ===> %3d doublons\n" , NomRep[Dblon] , NbRepDbl[Dblon])
#Appel fonction
print(nombreficrep(NomRep[Dblon]))

}
}' $REP

function nombreficrep(){
    Resultat =$(find $1 -maxdepth 1 -type f | wc -l | awk '{print $1}') 
return $Resultat
}    

Pouvez-vous m'aider ?
Merci

Dernière modification par philoeil (Le 30/12/2019, à 19:39)

Hors ligne

#2 Le 30/12/2019, à 19:38

philoeil

Re : [RESOLU] Erreur syntaxe sur appel function dans shell et commande awk

Bonjour,
Et Merci beaucoup kamaris

C'est résolu

Hors ligne

#3 Le 30/12/2019, à 19:39

kamaris

Re : [RESOLU] Erreur syntaxe sur appel function dans shell et commande awk

Tu n'as pas besoin de définir une fonction ici, il te suffit d'appeler directement la commande qu'elle contient depuis awk :

system("find " NomRep[Dblon] " -maxdepth 1 -type f | wc -l")

EDIT : ça c'est beau, tu réponds avant ma réponse big_smile
Désolé, j'avais supprimé mon précédent post wink

Dernière modification par kamaris (Le 30/12/2019, à 19:40)

Hors ligne