0 votes

Comment supprimer une sous-chaîne de system_profiler avec un if then possible ?

En bref, j'écris un script qui va vérifier si un ordinateur est un MacBook Pro ou un Macbook Air et ensuite je veux utiliser la sortie comme une variable.

Utilisation de

system_profiler SPHardwareDataType | grep “Model Name”

Je peux obtenir le nom du modèle : MacBook Pro mais tout ce dont j'ai besoin est "MacBook Pro" ou "Macbook Air".

-oP sur grep me donne une erreur. Une autre idée était d'utiliser find mais je ne sais pas comment utiliser find si je ne cherche pas un fichier réel.

1voto

Michael Zhou Points 167

Voici une solution utilisant awk con system_profiler :

 system_profiler SPHardwareDataType | awk -F ': ' '/Model Name/ { print $2 }'

Nous changeons le séparateur de champs en : <space> puis rechercher une ligne contenant le nom du modèle et imprimer le deuxième champ. Ou au lieu d'utiliser un tube, utilisez la substitution de processus pour alimenter awk

awk -F ': ' '/Model Name/ { print $2 }' < <(system_profiler SPHardwareDataType)

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X