gpt4 book ai didi

powershell - 如何选择字符串多行?

转载 作者:行者123 更新时间:2023-12-02 22:57:46 27 4
gpt4 key购买 nike

我正在尝试在多行文本上使用Select-String

例子:

 "This is line1
<Test>Testing Line 2</Test>
<Test>Testing Line 3</Test>"

我希望能够选择 Select-String中的所有3行。但是,当我执行 Select-String -Pattern "Line1"时,它仅选择第一行。如何将所有3条线一起提取?
Select-String -Pattern "Line1"

最佳答案

Select-String 单独对其输入对象进行操作,如果直接将文件路径传递给它(通过-Path-LiteralPath),或者通过管道传递Get-Content的输出,则在每行上执行匹配。

因此,将输入作为单个多行字符串传递,如果它来自文件,则最容易通过Get-Content -Raw(PSv3 +)实现:

Get-Content -Raw file.txt | Select-String -Pattern Line1

请注意,这意味着 (如果模式匹配),则文件的整个内容将输出,可通过输出对象的 .Line属性进行访问。

相比之下,如果要 保留每行匹配项,但又要捕获固定数量的周围行,请使用 -Context参数。
Get-Content file.txt | Select-String -Pattern Line1 -Context 0, 2

Ansgar Wiechers' helpful answer显示了如何从结果中提取所有行。

关于powershell - 如何选择字符串多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55373572/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com