PowerShell 遍历文件
Windows PowerShell 在命令行指令上运行,为 Windows、Mac 和 Linux 用户提供类似于基于命令行的类 Unix 系统的灵活性。
PowerShell 是支持脚本、自动化并包含配置管理框架的解决方案。PowerShell 可以被视为支持跨平台自动化设施的脚本解决方案。
PowerShell 由 Microsoft 合作开发和发布。从 Windows 7 开始的所有 Windows 版本中都安装了 PowerShell。
但是,如果是 macOS 计算机,则必须下载并安装适合你的 macOS 版本的 PowerShell 版本。
PowerShell 的自动化功能对于在服务器等环境中自动执行复杂任务非常有用,在这些环境中,需要维护、处理、比较和分析诸如系统日志文件之类的复杂文件。
PowerShell 支持通过循环处理这些日志文件、拖尾文件以等待文件更改、比较不同文件以了解更改等。
我们将通过他的文章重点介绍遍历目录中的文件。当我们遍历一组文件时,我们可以比较这些文件,在这些文件中找到特定的东西并编辑这些文件。
我们正在使用 Windows 10 机器来执行以下操作。你可以尝试使用你的版本以查看相同的输出。
使用 Get-ChildItem
和 get-Content
循环并检索日志文件的内容
日志文件的目录很大,必须根据系统管理员的不同要求进行编辑和编辑。
因此,我们将讨论在此上下文中循环文件的通用方法。Foreach-Object
应用于遍历项目。
我们正在尝试做的事情有点复杂。
-
首先,遍历文件列表,按
file.txt
文件类型过滤用于测试目的。Foreach-Object
for
循环用于遍历文件。 -
然后,我们将寻找包含
AA
的文件。我们用作输入的文件的屏幕截图如下图 1 所示。 -
Get-Content
用于获取过滤类型文件的内容。 - 然后,所有文件都经过查找匹配行。
我们要删除文件中所有不包含 AA
的行。
-
然后,通过
Set-Content
命令,我们可以输出仅包含过滤值的行。 - 使用过滤后的行创建具有给定结尾的新文件。
在这里,下图包含输入文件。
以下是可用于执行上述功能的代码。
C:\Users\Agni> Get-ChildItem "C:\Users\Agni" -Filter *.txt |
>> Foreach-Object {
>> $content = Get-Content $_.FullName
>>
>>
>> $content | Where-Object {$_ -match 'AA'} | Set-Content $_.FullName
>>
>>
>> $content | Where-Object {$_ -match 'AA'} | Set-Content ($_.FullName + '_out.log')
>> }
然后使用输出文件保存包含过滤行的值。
以下是更改后的输出文件。在这里我们必须记住,原始文件也只会更改为具有过滤值,并且所有其他行都将被删除。
此处的第一张图像将显示命令运行后的原始文件。
下图显示了 PowerShell 创建的输出文件。
因此,这个特定的命令可以与不同的文件类型一起使用来执行上述任务。我们需要练习将其与 .log
文件一起使用,这些文件包含大数据行,很难手动完成。
在这种情况下,你可以按 .log
文件过滤以获取指定位置的日志文件。
这不是完成此任务的唯一方法。但最被接受的方法之一是轻松有效。
相关文章
在 Windows PowerShell 中获取命令行参数
发布时间:2024/03/04 浏览次数:358 分类:编程语言
-
本文将解释我们如何使用 PowerShell 的参数函数处理命令行参数,参数如何工作,我们如何使用 PowerShell 参数将值传递给参数,以及定义参数的基本方法是什么。
Windows PowerShell 中的 Base64 编码
发布时间:2024/03/04 浏览次数:332 分类:编程语言
-
本文将展示如何编码和解码 base64 字符串。Windows PowerShell 当前版本没有本机命令,因此我们将向你展示如何执行此操作的替代方法。
在 Windows PowerShell 中写入输出
发布时间:2024/03/04 浏览次数:259 分类:编程语言
-
本文将向你展示如何在 Windows PowerShell 中编写或打印输出。本文还将区分多个 write cmdlet 并解释它们的意义。
在 Windows PowerShell 中设置 PATH 环境变量
发布时间:2024/03/04 浏览次数:350 分类:编程语言
-
本文将展示在 Windows PowerShell 中设置路径环境变量的正确方法。本文还展示了如何在持久性和非持久性方法中设置变量。
在 Windows PowerShell 中打印环境变量
发布时间:2024/03/04 浏览次数:869 分类:编程语言
-
本文将讨论什么是环境变量以及如何使用多个 Windows PowerShell 命令打印它们。
在 PowerShell 中注释代码
发布时间:2024/03/04 浏览次数:363 分类:编程语言
-
本文将展示在 Windows PowerShell 中注释代码的多种方法。本文还介绍了注释代码时的一些最佳实践。
在 PowerShell 中执行 LDAP 查询
发布时间:2024/03/04 浏览次数:304 分类:编程语言
-
本文将深入了解如何使用 Active Directory 过滤器和 LDAP 过滤器。