代码
Get-ChildItem -Recurse -Filter *.scala | ForEach-Object { $_ | Add-Member -NotePropertyName 'Lines' -NotePropertyValue (Get-Content $_.FullName | Measure-Object -Line).Lines -PassThru } | Sort-Object Lines -Descending | Select-Object -First 5
这个命令的工作原理是:
Get-ChildItem -Recurse -Filter *.scala 在当前目录及其子目录下查找所有的 .scala 文件。
ForEach-Object { $_ | Add-Member -NotePropertyName 'Lines' -NotePropertyValue (Get-Content $_.FullName | Measure-Object -Line).Lines -PassThru } 对每个找到的文件计算行数,并添加到每个文件对象的 'Lines' 属性中。
Sort-Object Lines -Descending 将结果按照行数进行降序排序。
Select-Object -First 1 选择行数最大的文件。
你可以将这个命令放在 PowerShell 窗口中运行,也可以将它保存为 .ps1 文件,然后在 PowerShell 中运行这个文件。
Windows10系统内有哪些shell?
除了cmd, powershell还有啥?
它们的区别是什么?
Windows 10系统内主要有两种类型的shell:
Command Prompt(cmd):这是Windows系统的原生命令行工具,从DOS时代就开始使用。CMD主要用于执行bat批处理脚本和一些基本的系统命令。它的功能相对简单,并不适合进行复杂的脚本编程。
PowerShell:PowerShell是微软在2006年发布的一个任务自动化和配置管理框架,包含了命令行shell和脚本语言。PowerShell的功能要比CMD强大得多,它基于.NET Framework,可以处理复杂的编程任务和系统管理工作。PowerShell脚本以.ps1为扩展名。
Windows Subsystem for Linux (WSL):这不是一个传统意义上的shell,但它可以让你在Windows 10上运行Linux shell,如Bash、Zsh等。WSL是一个兼容层,可以在Windows 10上运行Linux二进制可执行文件。通过WSL,你可以在Windows环境下使用Linux命令行工具,而无需启动虚拟机或双启动系统。
这三者之间的主要区别在于:
功能性:CMD的功能最基本,主要用于执行一些简单的系统命令。PowerShell则提供了更强大的功能,可以处理复杂的编程和系统管理任务。WSL则提供了完整的Linux环境,可以执行Linux下的所有命令和脚本。
适用场景:CMD更适合于基本的系统管理和文件操作。PowerShell则更适合于需要复杂脚本编程的任务,或者需要与.NET Framework集成的任务。而WSL则适用于需要在Windows环境下使用Linux命令行工具的场景。
兼容性:CMD在所有的Windows系统中都能使用,而PowerShell和WSL需要特定的Windows版本,而且WSL需要手动启用。
PowerShell编程的实用tips
了解基础语法: 首先,需要了解PowerShell的基本语法和结构。例如,理解如何创建变量、如何使用if/else结构、如何编写函数等。
使用管道: PowerShell的管道功能非常强大,它可以让你把一个命令的输出作为下一个命令的输入。这在处理复杂的数据转换或过滤任务时非常有用。
充分利用别名: PowerShell有很多内建的别名可以让你更快地执行命令。比如,你可以用 dir 代替 Get-ChildItem,用 ls 代替 Get-Content。你也可以自定义别名以符合你的习惯。
理解对象: PowerShell是基于对象的,这意味着每个命令的输出都是一个或多个对象。理解这个可以帮助你更好地利用管道,以及更有效地处理输出。
使用命令提示符: PowerShell提供了一种称为命令提示符的功能,可以帮助你更方便地找到和执行命令。只需要输入一个命令的一部分,然后按Tab键,PowerShell就会自动完成命令。
学习如何编写脚本: PowerShell脚本可以让你自动化很多任务。学习如何编写和使用脚本可以极大提高你的效率。
理解错误处理: PowerShell有很多内建的错误处理功能。理解这些功能可以帮助你编写更健壮的脚本,更好地处理可能出现的问题。
使用PowerShell ISE或VS Code: 这些工具提供了一些强大的功能,如语法高亮、命令提示、脚本调试等,可以大大提高你编写和调试脚本的效率。
查阅文档: 当你遇到问题或不清楚某个命令如何使用时,查阅官方文档或使用 Get-Help 命令是很好的选择。
与社区交流: PowerShell有一个活跃的社区,你可以在这里找到很多资源,比如教程、脚本样本、问题解答等。
标签:脚本,Get,scala,Windows,里行,Object,WSL,PowerShell From: https://www.cnblogs.com/yhm138/p/17435587.html