迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 PowerShell 中执行 awk 命令

作者:迹忆客 最近更新:2024/02/07 浏览次数:

awk 是一种用于数据操作和报告生成的脚本语言。awk 是一种命令行编程语言,无需编译即可支持变量、文本函数、数值函数和逻辑运算符。

不幸的是,awk 没有完全集成到 PowerShell 中,因为它使用的是 Windows 操作系统。本文将讨论如何使用 PowerShell 使用与 awk 命令类似的命令和功能。


在 PowerShell 中执行 awk 命令

awk 实用程序允许程序员以指定文本模式的语句的形式创建简短但功能强大的程序,这对于不熟悉 Linux 命令或一般 Linux 的用户可能会感到陌生。在每一行中搜索这些文本模式,并在找到匹配项时采取措施。

awk 主要用于模式扫描和处理。它探索一个或多个文件以查看它们是否包含与指定模式匹配的行,然后执行相关操作。

以下代码片段是使用 awk 的命令示例。

awk '/"Box11"/ { print $0 }' test.txt|awk '{ SUM += $4} END { print SUM} '

要执行类似 awk 命令的操作,我们将使用 Get-Content 命令获取文件的内容并在 Windows PowerShell 中执行几个字符串操作。如果我们采用上面的示例,这就是它在 PowerShell 中的样子。

示例代码:

Get-Content c:\temp\test.txt |
Where-Object{$_ -match '"Box11"'} |
ForEach-Object{($_ -split "\s+")[3]} |
Measure-Object -Sum |
Select-Object -ExpandProperty Sum
  • Get-Content 命令将获取文本文件的内容。
  • Where-Object 命令将过滤带有 Box11 字符串的行。
  • 然后,一旦过滤掉,脚本将循环以将每个行字符串拆分到其第 4 个元素中。请记住,PowerShell 从索引 0 开始;因此,我们使用索引 3 而不是 4,这与我们的 awk 命令不同。
  • Measure-Object 将对属性执行计算,在这种情况下为 Sum
  • 最后,Select-Object 将输出 Sum 扩展属性。

如果我们注意到,我们的 PowerShell 版本的 awk 命令会稍长一些。好在在 PowerShell 中,我们可以通过使用别名和几个 PowerShell 运算符来创建快捷方式。

示例代码:

gc c:\temp\test.txt | ?{$_ -match '"Box11"'} | %{(-split $_)[3]} |
  Measure -Sum | Select -Exp Sum

或者,如果你启用了 WSL(适用于 Linux 的 Windows 子系统),我们可以按原样运行 awk 命令。Windows 操作系统的一项称为 Linux 的 Windows 子系统 (WSL) 的功能使你能够直接在 Windows 上运行 Linux 文件系统,以及 Linux 命令行工具和 GUI 应用程序。

所以我们必须调用 wsl 命令并本地执行 awk 命令。

示例代码:

wsl -e awk '/"Box11"/{sum += $4} END{print sum}' test.txt

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 PowerShell 中提取子字符串

发布时间:2024/02/07 浏览次数:162 分类:编程语言

本文将讨论如何使用 PowerShell 的字符串库有效地提取字符串中的子字符串。作为 Windows 管理员的一个典型场景是找出一种方法来在称为子字符串的字符串中查找特定的文本片段

在 PowerShell 中连接字符串

发布时间:2024/02/07 浏览次数:174 分类:编程语言

本文将展示我们可以在 PowerShell 中使用的所有可能的方法来连接字符串和变量。PowerShell 使用不同的运算符和函数来实现字符串连接。

在 PowerShell 中获取变量的字符串长度

发布时间:2024/02/07 浏览次数:113 分类:编程语言

本教程将教你在 PowerShell 中获取变量的字符串长度。字符串是 PowerShell 中最常用的数据类型之一;它包含字符或文本的序列。你可以使用单引号或双引号定义字符串。

使用 PowerShell 替换文件中的文本

发布时间:2024/02/07 浏览次数:118 分类:编程语言

本教程将教你使用 PowerShell 替换文件中每个出现的字符串。PowerShell 是一个强大的工具,可以执行不同的文件和文件夹操作。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便