Script bash
Résolu
Enzo67bleu
Messages postés
4
Statut
Membre
-
linuxnico Messages postés 206 Statut Membre -
linuxnico Messages postés 206 Statut Membre -
Bonjour,
Je bloque sur une partie d'un script qui consiste à éditer à l'écran un tri sur une partie d'un fichier log.
L'objectif est que l'utilisateur puisse entrer la commande d'un processus et que la liste s'affiche.
Si cette commade n'a pas de données dans le fichier log (à la date indiquée) apparaise un et seulmnt un message 'aucune donnée disponible"
voici un extrait du fichier log
26/10/08 16h55mn01s 13438 i57990 7.8 firefox
26/10/08 17h00mn01s 13438 i57990 8.1 firefox
26/10/08 17h05mn01s 5161 root 2.4 Xorg
27/10/08 10h44mn56s 5218 root 4.7 Xorg
27/10/08 11h03mn01s 6158 i57990 6.6 firefox
27/10/08 11h04mn01s 6158 i57990 9.5 firefox
27/10/08 11h05mn01s 6158 i57990 19.8 firefox
27/10/08 11h06mn01s 6158 i57990 27.5 firefox
voici le début du script ou je bloque:
echo "Affichage des 5 processus utilisant le plus de CPU en une journée par commande"
echo "Liste des dates disponibles ci-dessous:"
coldate=""
awk -F " " '{print $1}' stat.log | sort -u
echo " Pour quelle date voulez vous obtenir des statistiques ?"
read coldate
awk -F " " -v var=$coldate '$1==var {print $6}' stat.log | sort -u
echo " Pour quel commande voulez vous obtenir des statistiques ?"
echo "Choisir une commande dans la liste ci-dessus:"
read cmd
echo " Date Heures PID Util. %CPU Commande"
sed s/\[.]/\,/ stat.log | sort -n -r -k6 -k5 | awk -v cmd=$cmd -v coldate=$coldate '{ if ($6==cmd && $1==coldate) {print $0} else {print "pas de donnée disponible" } fi }'
echo "Enter pour continuer"
read enter
Merci pour vos réponses et votre disponibilité.
Je bloque sur une partie d'un script qui consiste à éditer à l'écran un tri sur une partie d'un fichier log.
L'objectif est que l'utilisateur puisse entrer la commande d'un processus et que la liste s'affiche.
Si cette commade n'a pas de données dans le fichier log (à la date indiquée) apparaise un et seulmnt un message 'aucune donnée disponible"
voici un extrait du fichier log
26/10/08 16h55mn01s 13438 i57990 7.8 firefox
26/10/08 17h00mn01s 13438 i57990 8.1 firefox
26/10/08 17h05mn01s 5161 root 2.4 Xorg
27/10/08 10h44mn56s 5218 root 4.7 Xorg
27/10/08 11h03mn01s 6158 i57990 6.6 firefox
27/10/08 11h04mn01s 6158 i57990 9.5 firefox
27/10/08 11h05mn01s 6158 i57990 19.8 firefox
27/10/08 11h06mn01s 6158 i57990 27.5 firefox
voici le début du script ou je bloque:
echo "Affichage des 5 processus utilisant le plus de CPU en une journée par commande"
echo "Liste des dates disponibles ci-dessous:"
coldate=""
awk -F " " '{print $1}' stat.log | sort -u
echo " Pour quelle date voulez vous obtenir des statistiques ?"
read coldate
awk -F " " -v var=$coldate '$1==var {print $6}' stat.log | sort -u
echo " Pour quel commande voulez vous obtenir des statistiques ?"
echo "Choisir une commande dans la liste ci-dessus:"
read cmd
echo " Date Heures PID Util. %CPU Commande"
sed s/\[.]/\,/ stat.log | sort -n -r -k6 -k5 | awk -v cmd=$cmd -v coldate=$coldate '{ if ($6==cmd && $1==coldate) {print $0} else {print "pas de donnée disponible" } fi }'
echo "Enter pour continuer"
read enter
Merci pour vos réponses et votre disponibilité.
A voir également:
- Script bash
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Bingo bash free - Télécharger - Divers Jeux
- Bash addition - Forum Shell
3 réponses
bonjour,
a+
#!/bin/bash echo "Affichage des 5 processus utilisant le plus de CPU en une journée par commande" echo "Liste des dates disponibles ci-dessous:" coldate="" awk -F " " '{print $1}' stat.log | sort -u echo " Pour quelle date voulez vous obtenir des statistiques ?" read coldate awk -F " " -v var=$coldate '$1==var {print $6}' stat.log | sort -u echo " Pour quel commande voulez vous obtenir des statistiques ?" echo "Choisir une commande dans la liste ci-dessus:" read cmd echo " Date Heures PID Util. %CPU Commande" sed s/\[.]/\,/ stat.log | sort -n -r -k6 -k5 | awk -v cmd=$cmd -v coldate=$coldate '{ if ($6==cmd && $1==coldate) {print $0} else {print "pas de donnée disponible" } fi }' echo "Enter pour continuer" read enter
./teste2 Affichage des 5 processus utilisant le plus de CPU en une journée par commande Liste des dates disponibles ci-dessous: 26/10/08 27/10/08 Pour quelle date voulez vous obtenir des statistiques ? 26/10/08 firefox Xorg Pour quel commande voulez vous obtenir des statistiques ? Choisir une commande dans la liste ci-dessus:
a+