来自/ proc / cpuinfo的grep信息

时间:2016-07-26 09:19:32

标签: regex linux ubuntu grep pattern-matching

我正在尝试使用此命令从Ubuntu中的/ proc / cpuinfo grep模型:

cat /proc/cpuinfo | grep 'model'

但我得到2行作为输出:

model       : 60
model name  : Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz

我只会将此行作为输出:

model       : 60

我该怎么做?

9 个答案:

答案 0 :(得分:0)

使用以下命令验证服务器的型号:

dmidecode | grep -A3 '^System Information'

对我来说,它会返回:

System Information
        Manufacturer: IBM
        Product Name: System x3650 M3 -[7945J4A]-
        Version: 00

答案 1 :(得分:0)

要仅获取第一行,只需使用head

cat /proc/cpuinfo | grep 'model' | head -1   # <--- This is what you realy asked

要获取最后一行,您可以使用tail

cat /proc/cpuinfo | grep 'model' | tail -1

如果你想要n'th行,你可以使用两者:

cat /proc/cpuinfo | grep 'model' | head -n | tail -1

答案 2 :(得分:0)

只需打印包含&#34;型号&#34;的行。其最后一个字段是数字:

awk '/model/ && $NF~/^[0-9]*$/ {print $NF}' /proc/cpuinfo

或者您甚至可以提供您想要匹配的模式using -v

awk -v word="model" '$0 ~ word && $NF~/^[0-9]*$/ {print $NF}' /proc/cpuinfo

答案 3 :(得分:0)

只需使用GNU sed

sed -n '/model/{p;q}' /proc/cpuinfo

这将为model中匹配/proc/cpuinfo的第一行“grep”并打印出来。然后它将终止。

答案 4 :(得分:0)

您可以使用--invert-match的{​​{1}}选项删除包含姓名的行。

grep

使用 -v, --invert-match Invert the sense of matching, to select non-matching lines. 命令成为

-v

答案 5 :(得分:0)

cat /proc/cpuinfo | grep 'model\s\+:'

这是model的greps,后跟空格(至少为1),后跟冒号。

答案 6 :(得分:0)

另一种方法:

lscpu | grep Model:

似乎很简单

答案 7 :(得分:0)

您只需要:

grep '^model[[:blank:]]*:' /proc/cpuinfo

或者如果您更喜欢awk:

awk '/^model[[:blank:]]*:/' /proc/cpuinfo

然后,如果您想要的只是该行末尾的数字,那么这只是一个调整:

awk '/^model[[:blank:]]*:/{ print $NF }' /proc/cpuinfo

答案 8 :(得分:-1)

您可以使用'sed'来解析单个行。

cat /proc/cpuinfo | grep 'model' | sed -n "1p"会给你model: 60

cat /proc/cpuinfo | grep 'model' | sed -n "2p"将为您提供第二行作为输出。