0 votos

¿Cómo puedo eliminar una subcadena de system_profiler con una posible si entonces?

En resumen, estoy escribiendo un script que compruebe si un equipo es un MacBook Pro o un MacBook Air y, a continuación, quiero utilizar el resultado como una variable.

El uso de

system_profiler SPHardwareDataType | grep "Model Name"

Puedo obtener el Nombre del Modelo: MacBook Pro, pero todo lo que necesito es "MacBook Pro" o "MacBook Air"

-oP en grep me da un error. Otra idea era la utilización de encontrar, pero estoy seguro de cómo me gustaría utilizar la función de búsqueda si no estoy en la búsqueda de un archivo.

1voto

Michael Zhou Puntos 167

He aquí una solución que utiliza awk con system_profiler :

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

Podemos cambiar el separador de campo a : <space> , a continuación, busque una línea con el Nombre del Modelo en e imprimir el segundo campo. O en lugar de utilizar un tubo de utilizar el proceso de sustitución para alimentar awk

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by: