#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
Désolé, j'avais supprimé mon précédent post
Dernière modification par kamaris (Le 30/12/2019, à 19:40)
Hors ligne