网站搜索

PowerShell:如何使用选择对象和跳线


通常,您可能希望在 PowerShell 中使用 Select-Object cmdlet 并跳过多行。

您可以使用以下方法来执行此操作:

方法 1:使用 Select-Object 并跳过前 N 行

Get-Content cities.txt | Select-Object -skip 3

此特定示例返回名为 cities.txt 的文本文件中的所有行,但跳过文件中的前 3 行。

方法 2:使用 Select-Object 并跳过特定范围的行

Get-Content cities.txt | ? {$_.readcount -lt 3 -or $_.readcount -gt 6}

此特定示例返回名为 cities.txt 的文本文件中的所有行,但跳过文件中的 3 至 6 行。

注意:? 符号是 Where-Object cmdlet 的别名,用于过滤对象中的行。

以下示例展示了如何在实践中通过当前目录中名为 cities.txt 的以下文件使用每种方法:

示例 1:使用 Select-Object 并跳过前 N 行

我们可以使用以下语法返回 cities.txt 文件中的所有行,但跳过前 3 行:

Get-Content cities.txt | Select-Object -skip 3

以下屏幕截图显示了如何在实践中使用此语法:

请注意,这将返回文件中除前 3 行之外的所有行。

示例 2:使用 Select-Object 并跳过特定范围的行

我们可以使用以下语法返回 cities.txt 文件中的所有行,但跳过文件中的 3 至 6 行:

Get-Content cities.txt | ? {$_.readcount -lt 3 -or $_.readcount -gt 6}

以下屏幕截图显示了如何在实践中使用此语法:

请注意,这将返回文件中除 3 行到 6 行之外的所有行。

请注意,readcount 属性提取文件中每一行的行号。

通过使用-lt(小于)和-gt(大于),我们可以过滤掉小于或大于特定行号的行。

相关文章