如何从任何 Linux 命令获取处理器 ID

如何从任何 Linux 命令获取处理器 ID

我有一个 Java 代码

HardwareAbstractionLayer hal = new SystemInfo().getHardware();
hal.getProcessor().getProcessorID()

从此我就可以ProcessorId在我的 Ubuntu 18 机器上

无论如何,我可以通过任何 Linux 命令验证该值吗?

编辑:我已经使用代码升级了硬件 API:

hal.getProcessor().getProcessorIdentifier().getProcessorID() 

现在我得到了正确的处理器ID:A9 06 03 00 FF FB EB BF

以下命令给出值,但带有一些文本

sudo dmidecode -t processor | grep -E ID
ID:A9 06 03 00 FF FB EB BF

编辑:感谢@Steve 和@WinEunuuchs2Unix 我最后使用的命令是

dmidecode -t processor | grep -E ID | sed 's/.*: //' | head -n 1

答案1

来自评论:

sudo dmidecode -t processor | grep -E ID |  sed 's/.*: //'

sed命令用于删除行前缀:“ ID: ”,如这个流行的答案中所述:

解释:

第一部分将字符串传输到sed

第二个是基本的 sed 替换。第一个和第二个 / 之间的部分是要搜索的正则表达式,第二个和第三个之间的部分是要用什么来替换它(在本例中没有替换,因为我们要删除)。

对于正则表达式,. 匹配任何字符,* 重复任意次(包括零次),而 : 匹配冒号。因此,实际上它是任何后面跟着冒号的字符。由于 .* 可以包含冒号,因此匹配是“贪婪的”,直到最后一个冒号的所有内容都包括在内。

相关内容