(1)管道的处理模式
顺序模式(慢):管道同一时间只执行一条命令,只有当前一条命令执行完毕,才会把所有结果交给下一条命令。缺点:速度慢、耗内存。
流模式(快):管道同一时间可能会执行多条命令,前一条命令可能会产生多个结果,一旦其中一个结果产生,就会立即交给下一条命令处理,这就导致了管道的某个任务可能还在执行,但一部分结果已经输出了。优点:节省内存,速度快。
(2)排序
使用Sort-Object对管道结果进行升序和降序:
如果要查找此目录下所有的.py文件,可以用-recurse选项来递归查询。
(3)分组
使用Group-Object可以对管道结果进行分组。
把服务以状态进行分组,把当前目录下文件以扩展名进行分组:
查看当前目录的文件,根据文件的大小是否小于5kb来分组:
(4)过滤
过滤对象可以使用Where-Object,别名“?”:
过滤对象的属性可以使用Select-Object:
自定义个性化的过滤可以使用ForEach-Object:
过滤重复的结果可是使用Get-Uinque,它会逐个遍历对象,每次遍历时都会与前一个对象进行比较,如果和前一个对象相等就会抛弃当前对象,否则就保留。
下面对象列表必须排序,Get-Unique才能完全发挥作用,负责只能保证相邻对象不重复。
(5)导出管道结果
通过Get-Command -verb out查看Powershell有哪些输出的命令。