我有一个 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 替换。第一个和第二个 / 之间的部分是要搜索的正则表达式,第二个和第三个之间的部分是要用什么来替换它(在本例中没有替换,因为我们要删除)。
对于正则表达式,. 匹配任何字符,* 重复任意次(包括零次),而 : 匹配冒号。因此,实际上它是任何后面跟着冒号的字符。由于 .* 可以包含冒号,因此匹配是“贪婪的”,直到最后一个冒号的所有内容都包括在内。