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 cela fonctionne
Étape -1
virtualbox --help
vous donne une longue sortie indiquant de nombreuses 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
|
est appelé tuyau. Il a une grande application dans la ligne de commande. Il passe l'expression entière à la commande suivante head
. head -n 1
imprime uniquement la première ligne. voir man head
pour plus. A ce stade, la production est seulement
Oracle VM VirtualBox Manager 4.3.6
Étape 3
| awk '{print $NF}'
Encore une fois, les éléments restants sont passés à awk
. A ce stade awk
considère la ligne entière comme une combinaison de plusieurs champs séparés par des espaces et n'imprime que le dernier champ de l'expression ci-dessus. Ainsi, vous obtenez uniquement la version. Voir man awk
pour plus.