我有 bash 脚本来收集所有硬件信息,但缺少以下内存信息,所以这就是我想要做的。
以下命令为您提供DIMM
内存模块的状态,
[root@Linux ~]# hpasmcli -s 'show dimm'
DIMM Configuration
------------------
Processor #: 1
Module #: 1
Present: Yes
Form Factor: 9h
Memory Type: DDR3(18h)
Size: 8192 MB
Speed: 1333 MHz
Supports Lock Step: No
Configured for Lock Step: No
Status: Ok
Processor #: 1
Module #: 12
Present: Yes
Form Factor: 9h
Memory Type: DDR3(18h)
Size: 8192 MB
Speed: 1333 MHz
Supports Lock Step: No
Configured for Lock Step: No
Status: Ok
Processor #: 2
Module #: 1
Present: Yes
Form Factor: 9h
Memory Type: DDR3(18h)
Size: 8192 MB
Speed: 1333 MHz
Supports Lock Step: No
Configured for Lock Step: No
Status: Ok
Processor #: 2
Module #: 12
Present: Yes
Form Factor: 9h
Memory Type: DDR3(18h)
Size: 8192 MB
Speed: 1333 MHz
Supports Lock Step: No
Configured for Lock Step: No
Status: DIMM is degraded
想要在单行中提取Size:
和需要它,如下所示Status:
最终输出将如下所示。我可以使用其他语言,如 python 或 perl,但我用 bash 编写,所以我需要 bash 中的一些东西,我可以做多个for loop
并使用变量来使其工作,但我需要一些简单或简单的东西,比如sed/awk
. 我怎样才能在 sed/awk 中实现这一点?
8192MB - Ok
8192MB - OK
8192MB - OK
8192MB - DIMM is degraded
一个不
grep | awk | sed | awk
使用,而是只使用一个的解决方案awk
:awk
脚本,为了可读性而重新格式化:哦,男孩,我想我做到了:)
我仍然想知道我们是否可以通过其他方式做到这一点,我不会回答我的问题,我会等待其他人加入。