我正在研究一种将 Linux 机器集成到 SCCM 报告中的方法。我们想要做的事情之一是验证机器上的交换大小。
我知道我可以通过运行来获取机器上的交换金额
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