Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >powershell对象降序排序

这个powershell的东西

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$Processes = get-process | Group-Object -Property ProcessName
foreach($Process in $Processes)
{
    $Obj = New-Object psobject
    $Obj | Add-Member -MemberType NoteProperty -Name Name -Value $Process.Name
    $Obj | Add-Member -MemberType NoteProperty -Name Mem -Value ($Process.Group|Measure-Object WorkingSet -Sum).Sum
    $Obj | sort Mem -Descending
}

输出与以下内容相同

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$Processes = get-process | Group-Object -Property ProcessName
foreach($Process in $Processes)
{
    $Obj = New-Object psobject
    $Obj | Add-Member -MemberType NoteProperty -Name Name -Value $Process.Name
    $Obj | Add-Member -MemberType NoteProperty -Name Mem -Value ($Process.Group|Measure-Object WorkingSet -Sum).Sum
    $Obj
}

我还不够精通,不知道它是否真的有效,但因为项目是相加的,所以它是从第一个值开始排序的,但是因为它仍然是按字母顺序排序的,所以我认为它没有设置为正确的值来排序。我尝试了几种不同的组合

sort,sort-object,sort-object -property "Mem“-Descending,Mem,"Mem",WS,"WS",WorkingSet,@{Expression="Mem";Descending=$true}和各种排列,

将生成的$Obj抛给另一个已排序的$obj (抛出一个错误,指出它没有添加$ObjS、+=、$obj |sort等),还有一些我没有保存或记住的调用对象排序的其他方法。

并得出结论,我的错误可能源于其他地方,但是,由于没有抛出错误,我相信我的语法至少是正确的。

我希望输出按进程的内存使用情况排序(按相同的名称组合,以获得相似进程的总内存,

即所有的铬处理为一个-铬1650453708--

此外,这是在任何powershell上的windows7,如果这有任何帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-06 02:45:21

构建数据集,然后进行排序。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Function Get-ProcessMemorySummary1
{
    $Processes = Get-Process | Group-Object -Property ProcessName
    foreach($Process in $Processes)
    {
        $Obj = New-Object psobject
        $Obj | Add-Member -MemberType NoteProperty -Name Name -Value $Process.Name
        $Obj | Add-Member -MemberType NoteProperty -Name Mem -Value ($Process.Group `
             | Measure-Object WorkingSet -Sum).Sum
        $Obj | sort Mem -Descending
    }
}
Get-ProcessMemorySummary1 | Sort-Object Mem



Function Get-ProcessMemorySummary2
{
    $Processes = get-process | Group-Object -Property ProcessName
    foreach($Process in $Processes)
    {
        $Obj = New-Object psobject
        $Obj | Add-Member -MemberType NoteProperty -Name Name -Value $Process.Name
        $Obj | Add-Member -MemberType NoteProperty -Name Mem -Value ($Process.Group `
             | Measure-Object WorkingSet -Sum).Sum
        $Obj
    }
}

Get-ProcessMemorySummary2 | Sort-Object Mem

Name                         Mem
----                         ---
Idle                        8192
smss                     1277952
NisSrv                   1536000
ptim                     1765376
ptsrv                    1945600
ONENOTEM                 3014656
rundll32                 3084288
Secure System            3899392
ibtsiva                  4325376
SynTPHelper              4648960
fdlauncher               5128192
ssh-agent                5353472
ibmpmsvc                 5521408
fdhost                   6725632
...

Get-ProcessMemorySummary2 | Sort-Object Mem -Descending

Name                         Mem
----                         ---
iexplore              1890992128
svchost               1115009024
powershell_ise         834617344
RDCMan                 734556160
sqlservr               698155008
Microsoft.Photos       396951552
dwm                    346951680
MsMpEng                201469952
explorer               184778752
...
票数 0
EN

Stack Overflow用户

发布于 2018-02-06 00:12:20

这里有一个提示:您在这里排序的是什么?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
foreach($Process in $Processes)
{
    #...
    $Obj | sort Mem -Descending
}
票数 2
EN

Stack Overflow用户

发布于 2018-02-06 02:17:59

前段时间有人告诉我,使用Add-Member是一种资源浪费。使用PSCustomObject可能会使您的代码更紧凑,冗余更少,并且便于阅读排序。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Get-Process | Group-Object -Property ProcessName | ForEach-Object {
[array]$objProcesses += [PSCustomObject][ordered] @{
    Name = $_.Name
    Mem = $(($_.Group | Measure-Object  WorkingSet -Sum).Sum)
}
}
Return $objProcesses
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48633180

复制
相关文章
JAVA中替换字符的方法replace和replaceAll 区别
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32534855/article/details/90939899
DencyCheng
2019/06/14
3.2K0
Java---replace与replaceAll的区别
乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,其实大不然,只是替换的用途不一样。
谙忆
2021/01/21
9790
滴滴笔试 Java replaceAll() 方法
选择 考了 Java replaceAll() 方法 我之前是真没用过 选择也就选错了
韩旭051
2021/04/14
8470
滴滴笔试 Java replaceAll() 方法
Python中的id()函数_怪异现象
那么,id(obj)和id(obj)是不是相等的呢?让我们来测试一下(Python3.7)
py3study
2020/01/13
7160
Java中的replaceAll()方法同时替换多个不同的字符串
需求场景 场景一 String str1 = "广东省,福建省,北京市,海淀区,河北省,上海市,...."; 需要把“省”、“市”、“区”一起去掉; 变成: 广东,福建,北京,海淀,河北,上海....
崔笑颜
2020/06/08
11.9K0
怪异的排序
咋一看,不就是先按姓名做排序,然后再分别对班组、机台号做排序么。按这个思路写出了 SQL(表结构及数据在文末),得到的结果和预期的有点不一样。
白日梦想家
2020/11/03
3630
【说站】js中replaceAll方法的实现
1、replaceAll()可以一次性替换所有匹配。同replace()一样,该方法接收两个参数。
很酷的站长
2022/11/23
1.7K0
【说站】js中replaceAll方法的实现
java中替换字符串特定字符replace,replaceAll,replaceFirst
String number = "123,456,5234,52345,63456,7456,7";
用户7886150
2021/04/07
2.6K0
hive weekofyear 怪异的姿势
今天在使用hive函数weekofyear的时候遇到一个奇怪的情况,原sql如下:
大数据工程师-公子
2019/03/14
7850
replaceAll坑
前两天遇到一个坑,在使用String.replace()和replaceAll的时候
阿超
2022/08/16
4860
Grep(Regex)中的正则表达式
grep是Linux中用于文本处理的最有用和功能最强大的命令之一。 grep在一个或多个输入文件中搜索与正则表达式匹配的行,并将每条匹配的行写入标准输出。
知忆
2021/06/02
2.8K0
Excel中6个怪异的公式,你知多少?
文 | 兰色幻想-赵志东 在excel中我们有时会看到一些奇奇怪怪的公式,为了帮助新手学习,兰色今天带大家一起盘点这些公式。 公式1:=Sum(表1:表20!A1) 揭密:这是Sum的多表求和公式 用
CDA数据分析师
2018/02/24
2.5K0
Excel中6个怪异的公式,你知多少?
【面试说】怪异的 JavaScript
在网上看到一个有趣的测试,访问地址 [1]。里面包含了 25 道选择题,每个都是一个简单的表达式,然后让你选择,都是一些 JavaScript 怪异行为的体现,最后网站生成答案和解析,帮助你更好的理解 JavaScript 怪异的行为。
GopalFeng
2022/08/01
3370
replace、replaceAll、replaceFirst
我相信很多人也跟我一样也有个误区,错把replace当成replaceFirst,把replaceAll当成replace
阿超
2022/08/21
1.4K0
正则表达式(四):Java regex
Java 作为一种被广泛使用的编程语言,从 jdk-1.4 开始,标准库提供了 java.util.regex 包来支持正则表达式的使用。正则在 Java 中的使用和 python 中略有区别,主要是使用方式上稍有差异。名称上的不同足可见一斑,python 中两个核心对象是 Pattern 和 Match ,而 Java 中则是 Pattern 和 Matcher。
zhipingChen
2018/09/13
1K0
mongodb 字符串查找匹配中$regex的用法
官网地址:https://docs.mongodb.com/manual/reference/operator/query/regex/#regex-case-insensitive
庞小明
2018/12/10
6.2K0
Java正则速成秘籍(一)之招式篇
目录 导读 概述 Pattern类 Matcher类 校验文本是否与正则规则匹配 案例:lookingAt vs find vs matches 查找匹配正则规则的文本位置 案例:使用start()、end()、group() 查找所有匹配正则条件的子序列 替换匹配正则规则的文本 案例:replaceFirst vs replaceAll 案例:appendReplacement、appendTail和replaceAl
用户1257215
2018/01/30
9660
Java中处理正则表达式的工具类——总有一个适合你
import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import com.haohaosh.common.util.string.EmptyUtil; /** * @项目名 ssh * @功能 正则表达式工具类 * @类名 RegexUtil * @作者 Java自学通 * @日期 Aug 30, 20113:29:10 PM *
用户1289394
2018/02/27
1.5K0
python regex replace
正则匹配-直接内容替换 s = 'dsoheoifsdfscoopaldshfowefcoopasdfjkl;' ss = s.replace('coop','###') print(s,'\n',ss) dsoheoifsdfscoopaldshfowefcoopasdfjkl; dsoheoifsdfs###aldshfowef###asdfjkl; import re regex = re.compile(r'coop') # 正则匹配替换 regex.sub('$$$$$','sdlaf
py3study
2020/01/08
2.4K0
Java正则速成秘籍(一)之招式篇
静默虚空
2018/01/05
1.1K0
Java正则速成秘籍(一)之招式篇

相似问题

Java Regex replaceAll()

31

Java regex replaceAll多行

30

Java replaceAll到javascript regex

13

Java RegEx replaceAll抛出ArrayIndexOutOfBoundsException

34

Java: String.replaceAll(regex,替换);

1010
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文