1 votos

¿Cómo buscar el "identificador de dispositivo" del disco a partir del "nombre del dispositivo/medio"?

Hay más de 20 unidades en el sistema. Una de las unidades tiene problemas según el controlador de disco. El controlador de disco me informa por el número de serie de las unidades. El número de serie de la unidad se puede asignar a un "Dispositivo / Nombre del Medio" (por ejemplo HPT DISK 1_7 Media ).

Nombre del dispositivo/medio Identificador del dispositivo

A continuación, deseo conocer la " Identificador del dispositivo " (como disk8 ) o " Nodo del dispositivo "(por ejemplo /dev/disk8 ).


Regresión

Tener que hacer un diskutil info /dev/diskZZ para todas las 20+ unidades es bastante ineficiente.


¿Cuál es la forma eficiente de hacer una búsqueda en la línea de comandos para el disco su "Identificador de Dispositivo" teniendo el "Nombre del Dispositivo / Medio" usando Lion (Mac OS X 10.7)?

2voto

Tony Williams Puntos 4903

Lo siguiente mostrará el nodo de dispositivo para cualquier volumen con un nombre que coincida reemplazando <string> con el nombre del dispositivo/medio que está buscando.

for d in /dev/disk*; do
    if [ `diskutil info $d | grep -c <string>` == 1 ]; then
        diskutil info $d | grep "Node"
    fi
done

One-liner

$ for disk in /dev/disk*; do [ `diskutil info $disk | grep -c '<string>'` == 1 ] && diskutil info $disk | grep Node; done

Por cierto, en mi MacBook Pro tengo dos "unidades" con el mismo nombre de dispositivo, ya que son dos volúmenes en una unidad APFS, por lo que a algunas personas que lean esto les puede ocurrir algo similar. Tampoco tengo un Mac 10.7 disponible para probarlo, pero no depende de ninguna cosa elegante de la cáscara así que debe trabajar bien. Ciertamente funciona en 10.12 y 10.13.

0 votos

Este bucle shell script (y el one-liner) también funciona como se esperaba en 10.7.

0voto

Ian Puntos 56
for d in /dev/disk*; do
diskinfo info $d | grep <string>
done

O algo similar.

0 votos

En realidad, eso no funcionará. La salida de diskutil info <device identifier> es de varias líneas por lo que su script devolverá "Device / Media Name: <string>" y nada más.

0 votos

:thumbup: Puede que me haya precipitado, sin hacer pruebas. También pensé que OP podría hacer un poco de shell script investigación :)

0 votos

Sí, ahora he mirado la salida y veo lo que quieres decir. Tienes que hacer coincidir el ID con el disco, y luego dar salida al ID del disco en el que aparece esa línea.

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:

X