gpt4 book ai didi

powershell - 将索引号添加到 `Select-String`的结果列表中

转载 作者:行者123 更新时间:2023-12-03 01:26:34 25 4
gpt4 key购买 nike

我需要在文件中搜索一个术语,并在搜索结果中显示一个索引,以便于引用。

bash中的命令为:
cat <file> | grep 'Table: ' | cat -n
到目前为止,我在Powershell中拥有什么:
Get-Content <file> | Select-String 'Table: ' | Select-Object -Property LineNumber, Line
不幸的是,我没有意识到LineNumber给出了文件中的实际行,而不是结果列表中的索引。

如何将bash命令转换为其等效的Powershell?

最佳答案

确实,.Line输出的对象的Select-Object属性指示给定输入文件中每个匹配项的行号。

PowerShell没有cat -n的直接等效项(在输出上的所有输入行之前都添加了基于1的索引),但是使用 ForEach-Object cmdlet自己滚动并不难:

$i = 0
Get-Content file.txt | Select-String 'Table: ' | ForEach-Object {
"{0,6}`t{1}" -f ++$i, $_.Line
}

上面的代码使用 -fformat operator将第一个RHS操作数( ,6)左键填充到6个字符( {0}),它是(递增的)索引 ++$i,后跟制表符( `t)和第二个RHS操作数( {1}),它是当前的输入行( $_.Line)。

关于powershell - 将索引号添加到 `Select-String`的结果列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62399381/

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