[SHELL/BASH] SED récupération d'un valeur de fin de ligne
Résolu
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.
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
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
-
ContributeurSalut,
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 ;-)
-
-
Contributeur@Mortallys
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 commanderead
.
pourquoi mettre un espace entre les deux "<" ?
C'est la syntaxe pour la substitution de processus. -
-