我是编写脚本的新手。所以我希望这很简单。我正在编写的脚本用于收集系统信息并将其保存为 html 文件。
当我运行时:
sudo lshw -short
Run Code Online (Sandbox Code Playgroud)
它列出了系统上的所有硬件。
当我运行时:
sudo lshw -short | grep processor
Run Code Online (Sandbox Code Playgroud)
它返回(点代表空格)
/0/4 ...........................................processor................................................ AMD FX(tm)-6100 Six-Core Processor"
Run Code Online (Sandbox Code Playgroud)
我的问题是如何删除处理器前面的所有内容。或者我如何只显示“处理器”之后的内容。我尝试了 grep 的其他几个选项,并试图找到一个 awk 命令来工作,但我的尝试失败了。
如果需要更多信息,请告诉我。
在grep支持 PCRE(Perl Compatible Regular Expression)扩展的版本中,你可以做
sudo lshw -short | grep -Po 'processor\K.*'
Run Code Online (Sandbox Code Playgroud)
该-o说只打印匹配的文本,并\K修改引起什么它留在匹配的文本从结果中排除。
如果您还想删除文字文本后面的任何空格processor,您可以这样做
sudo lshw -short | grep -Po 'processor\s*\K.*'
Run Code Online (Sandbox Code Playgroud)