如何使用 grep 命令获取 mac 上特定设备的信息

how to use grep command to get infromation of particular device on mac

我是 运行 Mac,我想找到 vendor IDProduct IDSerial Number 并且如果可能的话 Mount Volume 随身碟。并以 system_profiler SPUSBDataType 结束,它以段落的形式显示了各种设备的一大堆列表,.. 我只期待获得 pendrive 的一些详细信息(供应商 ID、产品 ID、序列号)。我尝试了 grep,但只有其中一个细节能够得到。我给出的命令是

$ system_profiler SPUSBDataType | grep -i "Vendor ID:"

仅获取特定设备的那些信息的 grep 命令(最好是单行命令)应该是什么。

grep完全面向行;所以不,它一般不能进行面向段落的操作。但是您可以求助于 Awk,它非常适合此类任务。

无法访问示例输出,这是推测性的,但类似于

system_profiler SPUSBDataType |
awk '/this is the drive you want/ { p=1 }
  /vendor ID|Product ID|Serial Number/ && p
  /^$/ { p=0 }'

这是假设正则表达式 this is the drive you want 匹配您感兴趣的特定驱动器的第一行输出,并且各个驱动器的输出由空行分隔(正则表达式 ^$ 匹配)。现在变量 p 将在这两行之间为真;然后当我们看到最中间的正则表达式匹配时打印。