Vous pouvez essayer ceci,
virtualbox --help | head -n 1 | awk '{print $NF}'
ou
$ echo $(virtualbox --help | head -n 1 | awk '{print $NF}')
4.3.6
Comment ça marche
Étape -1
virtualbox --help
vous donne une longue sortie en disant beaucoup d'options etc. Mais ses toutes premières lignes sont comme,
Oracle VM VirtualBox Manager 4.3.6
(C) 2005-2013 Oracle Corporation
Tous droits réservés.
...
Étape -2
| head -n 1
|
s'appelle pipe. Il a une grande application en ligne de commande. Il passe l'expression entière à la prochaine commande head
. head -n 1
imprime uniquement la première ligne. voir man head
pour plus. A ce stade, la sortie est uniquement
Oracle VM VirtualBox Manager 4.3.6
Étape 3
| awk '{print $NF}'
Encore une fois, les choses restantes sont transmises à awk
. A ce stade, awk
considère la ligne entière comme une combinaison de quelques champs séparés par un espace et n'imprime que le dernier champ de l'expression ci-dessus. Donc, vous obtenez la version uniquement. Voir man awk
pour plus.