[SHELL/BASH] SED récupération d'un valeur de fin de ligne

Résolu
Mortallys Messages postés 203 Statut Membre -  
Mortallys Messages postés 203 Statut Membre -
Bonjour,

Je viens à vous aujourd'hui car j'aurais besoin d'aide sur l'utilisation de la commande SED.

J’essaye tant bien que mal de récupéré des valeurs à passé en variable mais impossible pour le moment.

df -h | grep /dev/sda

Me donne : /dev/sda2 48G 8.2G 37G 19% /

Je souhaiterais récupéré récupéré chaque valeur dans une variable :
NAME serais égal à /dev/sda2
TOTAL serais égal à 48G
UTILISE serais égal à 8.2G
LIBRE serais égal à 37G
POUCENT_UTILISE serais égal à 19%

J'ai essayer avec sed mais je n'arrive pas à faire la sélection si quelqu'un pouvais m'aider et aussi m'expliquer la syntaxe car j'ai beau regarder d'autre poste et lire les man/tuto sed j'y comprend rien :s


A voir également:

1 réponse

UnGnU Messages postés 1468 Statut Contributeur 158
 
Salut,

man bash (read)

$ df -hT | grep 'sda6'
/dev/sda6 ext4 92G 5,1G 82G 6% /home

$ read -u 0 A B C D E F G < <(df -hT | grep 'sda6')

$ echo $A
/dev/sda6

$ echo $A $C
/dev/sda6 92G

$ echo $G
/home

Je te laisse changer le nom des variables (A B C D E F G) à ta guise ;-)
1
Mortallys Messages postés 203 Statut Membre 16
 
Ok, comme on dit pourquoi faire simple quand on peu faire compliquer et pour le coup j'étais parti bien loin...

Merci pour cette solution qui fonctionne à merveille.
Par contre juste question sur la syntaxe le 0 renvoie le bash normal par contre pourquoi mettre un espace entre les deux "<" ?
0
UnGnU Messages postés 1468 Statut Contributeur 158 > Mortallys Messages postés 203 Statut Membre
 
le 0 renvoie le bash normal
Euh... non, là le zéro indique le descripteur d'entrée pour le paramètre
-u
de la commande
read
.

pourquoi mettre un espace entre les deux "<" ?
C'est la syntaxe pour la substitution de processus.
0
Mortallys Messages postés 203 Statut Membre 16
 
Ok merci pour vos réponses, le sujet est résolue grâce à vous, je clôture donc se post.

Encore merci ;)
0