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

Résolu
Mortallys Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   -  
Mortallys Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   -
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 1158 Date d'inscription   Statut Contributeur Dernière intervention   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 186 Date d'inscription   Statut Membre Dernière intervention   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 1158 Date d'inscription   Statut Contributeur Dernière intervention   158 > Mortallys Messages postés 186 Date d'inscription   Statut Membre Dernière intervention  
 
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 186 Date d'inscription   Statut Membre Dernière intervention   16
 
Ok merci pour vos réponses, le sujet est résolue grâce à vous, je clôture donc se post.

Encore merci ;)
0