作为 Linux 内核和所有命令的新手,我正在联系你们,希望你们能帮助我解决我的问题。
当运行下一个命令时
sudo dmidecode -t 5
我得到以下输出:
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.4 present.
Handle 0x0084, DMI type 5, 46 bytes
Memory Controller Information
Error Detecting Method: None
Error Correcting Capabilities:
None
Supported Interleave: One-way Interleave
Current Interleave: One-way Interleave
Maximum Memory Module Size: 32768 MB
Maximum Total Memory Size: 491520 MB
Supported Speeds:
70 ns
60 ns
Supported Memory Types:
FPM
EDO
DIMM
SDRAM
Memory Module Voltage: 3.3 V
Associated Memory Slots: 15
0x0085
0x0086
0x0087
0x0088
0x0089
0x008A
0x008B
0x008C
0x008D
0x008E
0x008F
0x0090
0x0091
0x0092
0x0093
Enabled Error Correcting Capabilities:
None
是否有任何命令可以过滤输出,以便我以任何方式获得支持的速度(70ns、60ns)?
我试过
sudo dmidecode -t 5 | grep -i -e DMI -e speed
这给了我这个输出:
# dmidecode 3.0
Handle 0x0084, DMI type 5, 46 bytes
Supported Speeds:
但这不会输出以下几行。
非常欢迎任何建议,谢谢!
答案1
这将列出支持的速度:
dmidecode | awk '/^\t[^\t]/ { speeds = 0 }; /^\tSupported Speeds:/ { speeds = 1 } /^\t\t/ && speeds'
这是通过匹配行来实现的,如下所示:
- 以单个选项卡开头的行意味着我们不期望速度;
- 以单个选项卡开头,后跟“支持的速度:”的行意味着我们是期望速度;
- 当我们期望速度按原样输出时,以两个选项卡开头的行。