Recuperer 2 champs dans une variable

ci je tape ça dans ma conssole linux

s=$(df -h | grep / | awk {'print $5'} | sed 's/\%//g') echo $s
il me resort le contenue de ma variable qui est de

moi dans cette variable récuperer que le 28 ( les deux premier chiffres ) 28

comment je pourais faire ,???

[size=200] :023 j’ai trouver [/size]

Salut,

Comment [size=200]?[/size]

PS: Pas de [Résolu] dans le titre STP la coche verte fait très bien l’affaire.

[quote=“lol”]Salut,

Comment [size=200]?[/size]

PS: Pas de [Résolu] dans le titre STP la coche verte fait très bien l’affaire.[/quote]

comme ça ?

s=`echo $(df -h | grep / | awk '{print $5}' | sed 's/\%//g') | awk '{print $1}'`
echo $s

ou alors normalement en changeant la valeur de OFS dans le premier awk

s=$(df -h | grep / | awk '{OFS=":";print $5}' | sed 's/\%//g' | awk -F ":" '{print $1}')
echo $s

(mais bon de mon côté la modif de la valeur d’OFS n’est semble-t’il pas prise en considération :confused:

Pour ma part, j’obtiens un résultat en colonne donc je ne vois pas comment sélectionner le premier résultat???

En cheatant comme indiqué précédemment
Si tu changes la valeur d’OFS (Output Field Separator) en une chaine autre que le retour chariot, tu as tes valeurs de la forme que tu le souhaites
Du moins c’est la théorie que j’ai retenu dans les livres… mais qui ne semble pas s’appliquer de mon côté (du fait je pense que je me vautre sur l’utilisation)

edit: la nuit porte conseil -> je me vautre peut être pas dans l’utilisation, mais dans la compréhension… j’affiche qu’un champ techniquement, donc logique que le caractère de séparation n’apparaisse pas.

Sinon tu stock le résultat dans une var que tu traites par la suite
Démonstration :

sofia:/# df -h
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
/dev/sda2              20G  3,7G   15G  20% /
tmpfs                 2,5G  8,0K  2,5G   1% /lib/init/rw
udev                   10M  604K  9,5M   6% /dev
tmpfs                 2,5G     0  2,5G   0% /dev/shm
/dev/sda3              46G  349M   44G   1% /home
/dev/sdb1              68G   15G   50G  23% /datas

sofia:/# df -h | grep / | awk '{print $5}' | sed 's/\%//g' 20 1 6 0 1 23

sofia:/# a=`df -h | grep / | awk '{print $5}' | sed 's/\%//g'`&& echo $a
20 1 6 0 1 23
sofia:/# a=`df -h | grep / | awk '{print $5}' | sed 's/\%//g'`&& echo $a | awk '{print $1}'
20

voili voilou :mrgreen: