我是编写脚本的新手。所以我希望这很简单。我编写的脚本用于收集系统信息并将其保存为 html 文件。
当我跑步时:
sudo lshw -short
它列出了系统上的所有硬件。
当我跑步时:
sudo lshw -short | grep processor
它返回(点代表空格)
/0/4 ...........................................processor................................................ AMD FX(tm)-6100 Six-Core Processor"
我的问题是如何删除“processor”前面的所有内容。或者如何仅显示“processor”后面的内容。我尝试了 grep 的其他几个选项,并尝试找到一个可以工作的 awk 命令,但都失败了。
如果需要更多信息,请告诉我。
答案1
grep
在支持 PCRE(Perl 兼容正则表达式)扩展的版本中,您可以执行
sudo lshw -short | grep -Po 'processor\K.*'
表示-o
仅打印匹配的文本,而\K
修饰符会导致匹配文本左侧的任何内容被排除在结果之外。
如果你还想删除文字后面的任何空格processor
,你可以这样做
sudo lshw -short | grep -Po 'processor\s*\K.*'