Extraire une valeur d'un fichier
Résolu/Fermé
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
-
29 mai 2009 à 21:01
mya1 Messages postés 334 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 28 janvier 2013 - 3 juin 2009 à 11:49
mya1 Messages postés 334 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 28 janvier 2013 - 3 juin 2009 à 11:49
A voir également:
- Extraire une valeur d'un fichier
- Fichier rar - Guide
- Extraire une video youtube - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
18 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
29 mai 2009 à 23:23
29 mai 2009 à 23:23
Salut,
awk me semble tout désigné pour cette tâche...
awk me semble tout désigné pour cette tâche...
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
42
30 mai 2009 à 02:22
30 mai 2009 à 02:22
j l'ai deja testé!! bon voilà le code:
#!/bin/bash
a=` df -k | wc -l | tail -1 `
b=` df -k | awk '{print $5}' > quota.txt `
while read line
do
#echo $a
#echo $b
i= " 3% "
if [ $b -gt $i ] ;
then
c=` awk '{print $5}' `
echo $c
fi
$i=$(($i+1))
done < quota.txt
#echo $a
#!/bin/bash
a=` df -k | wc -l | tail -1 `
b=` df -k | awk '{print $5}' > quota.txt `
while read line
do
#echo $a
#echo $b
i= " 3% "
if [ $b -gt $i ] ;
then
c=` awk '{print $5}' `
echo $c
fi
$i=$(($i+1))
done < quota.txt
#echo $a
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
30 mai 2009 à 08:52
30 mai 2009 à 08:52
Et juste comme ça :
df -h | awk 'NR == 1 { next } ; $5 > 3 { print $6 }'C'est pas bon ?
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
42
31 mai 2009 à 11:03
31 mai 2009 à 11:03
dsl pr le retard, euuh je vais l'essayer et je te tiendrai au courant! merci bcp jipycy!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
42
1 juin 2009 à 17:55
1 juin 2009 à 17:55
de retour jipycy !! la commande ne marche pas !! :s
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
42
1 juin 2009 à 18:08
1 juin 2009 à 18:08
en fait j'ai refait le script autrement et là quand je vx comparer deux vaiables, y prend la 2ème variable pr une chaine de caractères! je m'explique quand je met awk ' $1<"3%" {print $2}' /home/teste.txt normalement y doit m'afficher les rep ki sont inferieur à ce quota, or il prend ts les rep dont leur quota commence par 1 ou 2 et s'en fiche du reste, mm si le quota est à 19% y l'affiche!!
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
2 juin 2009 à 10:34
2 juin 2009 à 10:34
parce que "3%" est traité comme un string, pas une valeur numérique.
je ferais
{x=$1 ; sub("%", "", $x); if ($x < 3) print $2 }
je ferais
{x=$1 ; sub("%", "", $x); if ($x < 3) print $2 }
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
42
2 juin 2009 à 13:46
2 juin 2009 à 13:46
ok vais le tester et je te tiendrai au courant
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
42
2 juin 2009 à 18:05
2 juin 2009 à 18:05
slt dubcek j'ai testé le truc en vain , il econnait pas cette cmd, sub("%", "", $x)!! :s
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
2 juin 2009 à 18:45
2 juin 2009 à 18:45
essaye
{sub("%", "", $1); if ($1 < 3) print $2 }
quel awk as-tu ?
{sub("%", "", $1); if ($1 < 3) print $2 }
quel awk as-tu ?
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
42
2 juin 2009 à 19:52
2 juin 2009 à 19:52
df -k | sed '1d' | awk '{print $3 " " $6}' > quota1.txt
voici la cmd qui permet l'extraction du 3ème et 6ème colonne!! depuis le resultat du df -k!!
bon voici la dernière tentative pour que je puisse comparer le seuil av le taux d'occupation du rep :
#!/bin/bash
df -k | sed '1d' | awk '{print $3 " " $6}' > quota1.txt
num=` cat /home/stage/logs/quota1.txt | wc -l `
echo $num
seuil=74292
for i in num
do
if [ $num < 74292 ];
then
echo " Alert"
fi
done
le problème c'est qui passe pas par le if
mercii bien
voici la cmd qui permet l'extraction du 3ème et 6ème colonne!! depuis le resultat du df -k!!
bon voici la dernière tentative pour que je puisse comparer le seuil av le taux d'occupation du rep :
#!/bin/bash
df -k | sed '1d' | awk '{print $3 " " $6}' > quota1.txt
num=` cat /home/stage/logs/quota1.txt | wc -l `
echo $num
seuil=74292
for i in num
do
if [ $num < 74292 ];
then
echo " Alert"
fi
done
le problème c'est qui passe pas par le if
mercii bien
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
2 juin 2009 à 20:10
2 juin 2009 à 20:10
if [ "$num" -lt 74292 ];Par contre je ne vois pas le rapport entre le nombre de ligne (wc -l) du fichier quotat1.txt et le seuil ? ;-\
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
42
2 juin 2009 à 20:17
2 juin 2009 à 20:17
ouiii voilà le wc -l je l'ai mis pr compter le nombre de lignes du fichier quota1.txt, afin de l'utiliser pr que je puisse compter le nombre de ligne du fichier et passer de ligne par ligne ( ca remplace en fait la boucle while read line)
je vais essayer le truc et je te tiendrai au courant!!
mercii bcp pr ton aide
je vais essayer le truc et je te tiendrai au courant!!
mercii bcp pr ton aide
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
42
3 juin 2009 à 11:06
3 juin 2009 à 11:06
bon je décrit mieux le pb:j'ai fait un script sous shell, dans le quel j'envoie le résultat d'une commande vers un fichier, mnt je voulais parcourir ce fichier ligne par ligne et comparer le résultat de chaque ligne par une variable que j'ai déjà déclaré,s'il est inférieur a cette variable j'affiche la colonne qui suit,j'ai essaye avec plusieurs programmes mais ça marche pas,
aidez moi SVP , c urgent.
merci d'avance.
ps: le programme est sous shell ( bash)
aidez moi SVP , c urgent.
merci d'avance.
ps: le programme est sous shell ( bash)
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
3 juin 2009 à 11:19
3 juin 2009 à 11:19
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
42
3 juin 2009 à 11:22
3 juin 2009 à 11:22
slt jipicy!! ouii j'ai vu ce tuto que tu as posté!! et j'ai déja essayé mais ss pas arrivée à l'adapter av mon programme!! :s
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
3 juin 2009 à 11:31
3 juin 2009 à 11:31
Fais-moi plaisir et essaye ça :
df -k | awk 'NR == 1 { next } ; $3 < 74292 { print $6" Alerte !!!" }'et dis-moi ce qu'il en est...
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
42
3 juin 2009 à 11:38
3 juin 2009 à 11:38
ok chef!! j'essaie et je te tiens au courant tt de suite!
mya1
Messages postés
334
Date d'inscription
samedi 5 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2013
42
3 juin 2009 à 11:49
3 juin 2009 à 11:49
mercii jipicy! t mon sauveteur!! ca marche nickel!! merci bcp bcp bcp