如何从 lshw 输出中获取 bash shell 中的所需值?

如何从 lshw 输出中获取 bash shell 中的所需值?

我想从lshw输出中提取以下信息:

-cpu
    product: ......

我只想要这个的产品信息-cpu

我怎样才能用awk或做到这一点sed

答案1

您可以使用该实用程序lshw本身进行过滤:

lshw -C cpu

这只打印了 cpu 部分。但是如果你仅有的想要产品部分那么你需要 awk:

lshw -C cpu | awk '$1=="product:"{$1=""; print}'

它在第一个字段变量中搜索字符串product:,并在打印其余行之前删除该部分。

答案2

版主先生,请将此作为评论移至 chaos 的回答,我无法评论,因为我没有 bean ;-) 我确实相信像 lshw 或 lsblk 这样的命令应该有办法返回所需的准确字符串,而无需使用 awk 或 sed 或其他工具解析输出,尤其是现在这些工具通常是本地化的,您必须根据语言进行不同的解析!我一直在为这个问题而苦苦挣扎。

相关内容