You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell如何对MS DPM返回的带MB单位的磁带写入数据数组求和

带MB单位数值数组求和单行解决方案

适配MS DPM使用场景的PowerShell单行命令

MS DPM通常运行在Windows环境,优先给出PowerShell命令,假设你拿到的数组变量为$dpmTapeWriteVolumes,元素格式类似"1024MB"、"512.5MB":

($dpmTapeWriteVolumes | ForEach-Object { [decimal]($_ -replace 'MB', '') } | Measure-Object -Sum).Sum + 'MB'
  • 逻辑说明:逐个移除元素的MB后缀,转换为十进制数值后累加求和,最后拼接回MB单位
  • 如果你需要自动兼容GB/TB等不同单位的返回值,可以使用扩展版本:
$unitMap = @{'KB'=1KB; 'MB'=1MB; 'GB'=1GB; 'TB'=1TB}; ($dpmTapeWriteVolumes | ForEach-Object { $num = [decimal]($_ -replace '[A-Za-z]',''); $unit = $_ -replace '[0-9.]',''; $num * $unitMap[$unit] } | Measure-Object -Sum).Sum / 1MB + 'MB'

该命令会自动把不同单位的数值统一转换为MB后累加。

Linux环境文本格式数据处理单行命令

如果你把数组导出为每行一个数值的文本文件(文件名假设为dpm_data.txt),可以使用awk命令处理:

awk '{gsub(/MB/,""); sum += $1} END {print sum "MB"}' dpm_data.txt

示例截图

内容的提问来源于stack exchange,提问作者TechFA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:48:02