コマンドの出力を取得し、スクリプトを使用してファイル名にする必要があります。

コマンドの出力を取得し、スクリプトを使用してファイル名にする必要があります。

私はLinuxシステムをSCCMレポートに統合する方法を研究しています。私たちが望むものの1つは、マシンのスワップサイズを確認することです。

私は以下を実行して、自分のコンピュータからスワップ金額を取得できることを知っています。

cat /proc/meminfo | grep SwapTotal

残念ながら、SCCMはこれらのコマンドを実行できませんが、SCCM管理者はフォルダにファイルを作成できる場合は、特別なエンディングがある限り、そのファイルをレポートとして読み取ることができると述べました。

そのコマンドから情報を取得し、ファイル名にパイプしたいと思います。したがって、スワップが6000の場合、ファイル名は6000.swapになります。

誰もがこれを行う方法を見つける方法を教えてもらえますか?

ありがとうございます!

答え1

重要なものが生成されたファイル名のみの場合:

rm -f *.swap
touch "$(awk '/SwapTotal/ { print $2 }' /proc/meminfo).swap"

SwapTotalファイルの行が必要な場合:

rm -f *.swap
swap="$(awk '/SwapTotal/ { print $2 }' /proc/meminfo)"
grep SwapTotal /proc/meminfo > "${swap}.swap"

またはコマンドで(ありがとうアーチャーマールヒント):

rm -f *.swap
awk '/SwapTotal/ { print $0 > $2 ".swap" ;}' /proc/meminfo

答え2

簡単なことができます

touch /path/to/file/$(cat /proc/meminfo | grep SwapTotal | awk '{print $2}').swap

答え3

次のことができます。

touch `awk '/SwapTotal/ { print $2 }' /proc/meminfo`.swap

関連情報