system_profilerコマンドを使用して、Mac からシステム情報を取得して印刷しようとしています。私は情報をうまく取得できますが、各項目には先頭のスペースと末尾の改行があります (私は思います)。問題は、末尾の改行 (またはそこにあるもの) です。私が使用しているコマンドの1つの例を次に示します。
system_profiler SPHardwareDataType | awk -F: '/Processor Speed/ {gsub(/^[ \t]+|[ \n]+$/, "", $2); print $2}'
結果は次のとおりです。
2.5 GHz
ここには表示されませんが、最後に改行の原因となるある種の文字があります。上記の gsub は、結果の先頭にあるスペースを正しく削除しますが、改行を削除するために考えられるすべてのことを試みましたが、何も機能しませんでした。
改行の動作を確認するにはsystem_profiler > output
、ターミナルから実行し、好みのテキスト エディターで出力ファイルを開き、非表示の文字を表示します。
取得したこの情報を使って最終的にやろうとしているのは、TextExpanderスニペットを使用して基本的なコンピューター情報を出力することです。すべてのスニペットを正しくセットアップして実行していますが、上記で説明した改行文字に問題があります。
現在の出力は次のとおりです。
Model: MacBookPro9,2
OS Version: Mac OS X
10.8.3
(12D78
)
Processor: 2.5 GHz
Intel Core i5
Graphics: Intel HD Graphics 4000
512 MB
Storage: APPLE SSD SM128E Media
Memory: 8 GB
そして、これが私が望むものです:
Model: MacBookPro9,2
OS Version: Mac OS X 10.8.3 (12D78)
Processor: 2.5 GHz Intel Core i5
Graphics: Intel HD Graphics 4000 512 MB
Storage: APPLE SSD SM128E
Memory: 8 GB
TextExpander を使用すると、任意のシェル スクリプトを実行できるので、他の方法で必要な機能を取得できる場合は、喜んでそれを使用します。(つまり、私はいくつかの検索を行い、sed
とりわけ言及されているのを見てきましたが、シェルスクリプトについては本当に何も知りません)。
ありがとう!