Recuperer que le % de dispo d'un disque - Linux et OS Alternatifs
Marsh Posté le 14-02-2002 à 15:41:08
Solution rapide et sale:
df | grep -v Filesystem | awk '{print $5}' | sed 's/\%//'
[jfdsdjhfuetppo]--Message édité par pipomolo--[/jfdsdjhfuetppo]
Marsh Posté le 14-02-2002 à 15:41:34
ça sent le awk
df | awk '{ print $5 }' | grep -v Capacity | sed s/%//
edit : fuque, grilled
[jfdsdjhfuetppo]--Message édité par kadreg--[/jfdsdjhfuetppo]
Marsh Posté le 14-02-2002 à 15:44:15
Huhu
lol en + c la mm reponse
[jfdsdjhfuetppo]--Message édité par pipomolo--[/jfdsdjhfuetppo]
Marsh Posté le 14-02-2002 à 15:45:09
Merci beaucoup les gars
en effet je connais pas awk ni sed
d'ailleurs si vous pouviez m'expliquer le coup du sed...
merci encore
a+
Marsh Posté le 14-02-2002 à 15:47:37
RobinMasters a écrit a écrit : d'ailleurs si vous pouviez m'expliquer le coup du sed... |
la commande s de sed permet de remplacer une chaine par une autre avec la syntaxe s/A/B/ (remplacer les occurences de A par B). Ici, si on met pas le sed à la fin, c'est ecrit 5% et pas 5, donc on remplace % par une chaine vide
Marsh Posté le 14-02-2002 à 15:50:06
merci tu peux m'expliquer la syntaxe exacte de
sed s/%//
Marsh Posté le 14-02-2002 à 15:50:58
Bah ed et awk c hyper pratique pour faire ce genre de manips
En gros awk est un langage de programmation tres adapte a la manipulation de chaines de caracteres...il lit un fichier ou l'entree standard ligne par ligne et applique des commandes...
En l'occurence la commande ici est print $5 appliquee a toutes les lignes, et elle fait afficher le 5eme champ (champ defini par des espaces par defaut, mais ca peut se changer...)
Sed est une commande qui permet aussi de faire des manips sur des fichiers ou des flots. Sed est moins puissant que awk, mais tres pratique pour faire des substitutions et autres...
Ici la commande sed sert juste a enlever le symbole %. La syntaxe est s/chaine1/chaine2/ qui substitue chaine1 (cad %) par chaine2 (cad rien )
Voila, pour un intro sympa a sed et awk:
http://www.shellunix.com/sed.html
http://www.shellunix.com/awk.html
Marsh Posté le 14-02-2002 à 15:51:36
En fait pkoi finir par un '/' ?
sed s/%//
ca remplace % par rien et le 3é '/' il est toujours present apres un sed s?
Marsh Posté le 14-02-2002 à 15:52:27
RobinMasters a écrit a écrit : merci tu peux m'expliquer la syntaxe exacte de sed s/%// |
s => remplacer
/ => séparateur
% => le caractère à remplacer
/ => séparateur
[vide] => le caractère à mettre
/ => séparateur
lance la commande sans le sed :
df | awk '{ print $5 }' | grep -v Capacity
Tu vas voir le problème
Marsh Posté le 14-02-2002 à 15:53:08
g compris merci les gars
a+
Marsh Posté le 14-02-2002 à 15:33:04
J'ai besoin de créer un script qui check le % de dispo du disque (quand on fait un df) et qui en voie un mail quand on depasse un certain palier.
Pb : je trouve pas comment recuperer rien que le pourcentage et la valeur apres un df.
ex:
Filesystem 512-blocks Used Avail Capacity Mounted on
/dev/sd0a 8718484 385652 7896908 5% /
/dev/sd0d 968478 14 920042 0% /tmp
/dev/sd0e 7143818 4176920 2609708 62% /var
je veux
5
0
62
je jongle avec cut mais je trouve pas.
a+