[Shell Unix] Shell avec awk et sed
Résolu/Fermé
Trezeg
Messages postés
73
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
24 novembre 2010
-
11 avril 2007 à 17:40
Trezeg Messages postés 73 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 24 novembre 2010 - 13 avril 2007 à 09:12
Trezeg Messages postés 73 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 24 novembre 2010 - 13 avril 2007 à 09:12
A voir également:
- [Shell Unix] Shell avec awk et sed
- Classic shell windows 11 - Télécharger - Personnalisation
- Shell startup windows 10 - Guide
- Efi shell version 2.31 - Forum Programmation
- Ssh secure shell download - Télécharger - Divers Web & Internet
- Startup.nsh shell ✓ - Forum Windows 10
2 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
11 avril 2007 à 22:57
11 avril 2007 à 22:57
Salut,
#!/bin/ksh
# Initialisation variable
ctrlMsysout=$CONTROLM/sysout
# On liste le répertoire et on élimine tout les fichiers commençant par "CMD"
#+ et on envoie la sortie dans un "tube" et on continue sur la ligne suivante
ls $ctrlMsysout | sed '/^CMD./ d' | \
# Tant qu'on lit une ligne ; faire
while read line;do
# Initialisation de la variable "batch" en supprimant tout à partir
#+ de ".LOG.jusqu'à_la_fin"
batch=`echo $line | sed 's/\.LOG.*//'`
# Initialisation de la variable "inputfile" en filtrant les lignes contenant
#+ "bcp" avec "grep" dans les fichiers récupérés par la commande précédente
#++ avec récupération du 4 ème champ
inputfile=`grep bcp $currv/batchMngt/batches/$batch | nawk '{print $4}'`
# Initialisation de la variable de type entier "$occur" à 0
let occur=0
# tant que la variable "$inputfile" n'est pas vide; faire
while [ "$inputfile" != "" ];do
# Incrémentation de la variable $occur de 1
let occur=occur+1
# Initialisation de la variable "$origname" avec le 1 er champ de la variable $inputfile
origname=`echo $inputfile | nawk '{print $1}'`
# la variable "$file" prend la valeur de l'évaluation de la variable $origname
file=`eval echo $origname`
# On teste si $file est un fichier, si oui alors
if test -f $file;then
# On lance le script "certify.ksh" avec les paramètres résultant des variables...
#+ Apparemment on le source (.) afin de faire prendre en compte par l'environnement
#++ les paramètres positionnels (les variables) # A vérifier tout de même
. ./certify.ksh $file $ctrlMsysout/$line $occur $batch
# Sinon on affiche le message suivant
else
echo "the file $file doesn't exist"
fi
# On re-initialise la variable "$inputfile" en l'incrémentant tant qu'elle n'est pas
#+ égale (inférieure ou égale) au nombre de champs (NF)
inputfile=`echo $inputfile | awk '{
for(i=2;i<=NF;i++)
{
print $i
}
}'`
done
done
J'espère ne pas m'être trompée dans l'interprétation... Attend quand même l'avis d'autres personnes ;-))
Trezeg
Messages postés
73
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
24 novembre 2010
2
13 avril 2007 à 09:12
13 avril 2007 à 09:12
Merci jipicy