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

Signaler
Messages postés
186
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
19 février 2018
-
Messages postés
186
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
19 février 2018
-
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


1 réponse

Messages postés
1151
Date d'inscription
lundi 2 mai 2016
Statut
Membre
Dernière intervention
17 mai 2019
138
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57848 internautes nous ont dit merci ce mois-ci

Messages postés
186
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
19 février 2018
15
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 "<" ?
Messages postés
1151
Date d'inscription
lundi 2 mai 2016
Statut
Membre
Dernière intervention
17 mai 2019
138 >
Messages postés
186
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
19 février 2018

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.
Messages postés
186
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
19 février 2018
15
Ok merci pour vos réponses, le sujet est résolue grâce à vous, je clôture donc se post.

Encore merci ;)