平均CPU使用率ログを保存するためにファイルを生成しようとしています。
sudo mpstat 1 5 | grep Average | sed -E 's|Average:|$(date)|g' > cpu_usage_test.txt
「平均:」テキストを現在の日付と時刻に置き換えようとしています。別のアプローチを試しましたが、出力には文字列として$(date)が表示されます。簡単にテストするには、次のコマンドを使用して端末自体に表示します。
sudo mpstat 1 1 | grep Average | sed -E 's|Average:|$(date)|g'
ベストアンサー1
シェルは一重引用符で囲まれた文字列のどれも置き換えません。代わりに二重引用符を使用してください。
これらのオプションは不要で、次のことなく-E
使用できます。grep
sudo
mpstat 1 1 | sed -n "s|Average:|$(date)|gp"
-E
いいえ、ここでは拡張正規表現は使用されません。デフォルトでは、印刷を-n
防ぎ、sed
「p
Average:」が実際に置き換えられている場合にのみ行を印刷します。
これGNU sed マニュアルところで、学習に悪くはありません。