私はスクリプトを書くのが初めてです。ですから、これがシンプルであることを願っています。私が書いているスクリプトは、システム情報を収集し、それをhtmlファイルとして保存するために使用されます。
実行すると:
Sudo lshw -short
システム上のすべてのハードウェアをリストします。
実行すると:
Sudo lshw -short | grep processor
戻ります(ドットはスペースを表します)
/0/4 ...........................................processor................................................ AMD FX(tm)-6100 Six-Core Processor"
私の質問は、プロセッサの前にあるものをすべて削除する方法です。または、「プロセッサ」の後にあるものだけを表示するにはどうすればよいですか。私はgrepの他のいくつかのオプションを試し、動作するawkコマンドを見つけようとしましたが、失敗しました。
さらに情報が必要な場合はお知らせください。
PCRE(Perl Compatible Regular Expression)拡張機能をサポートするgrep
のバージョンでは、次のことができます。
Sudo lshw -short | grep -Po 'processor\K.*'
-o
は一致するテキストのみを印刷することを意味し、\K
修飾子は一致するテキストの左にあるものを結果から除外します。
リテラルテキストprocessor
に続く空白も削除する場合は、次のようにします。
Sudo lshw -short | grep -Po 'processor\s*\K.*'