gpt4 book ai didi

powershell - 目录/文本搜索上的 DISTINCT Select-String 输出

转载 作者:行者123 更新时间:2023-12-03 09:32:01 24 4
gpt4 key购买 nike

我很好奇如何根据这个例子生成一个不同的文件列表。
** 本示例生成所有 .ps1 和 .psm1 文件的列表,这些文件包含文本“folders”,但在同一行中不包含文本“.invoke”。

$text='folders'
dir C:\Workspace\mydirectorytosearch1\ -recurse -filter '*.ps*1' | Get-ChildItem | select-string -pattern $text | where {$_ -NotLike '*.invoke(*'}
dir C:\Workspace\mydirectorytosearch2\ -recurse -filter '*.ps*1' | Get-ChildItem | select-string -pattern $text | where {$_ -NotLike '*.invoke(*'}
这很酷并且效果很好,但我得到了重复的文件输出(相同的文件但不同的行号)。
我怎样才能保持我的文件输出不同?
当前不良输出:
  • C:\Workspace\mydirectorytosearch1\anonymize-psake.ps1:4:。 "$($folders.example.test)\anonymize\Example.vars.ps1"
  • C:\Workspace\mydirectorytosearch1\anonymize-psake.ps1:5:。 "$($folders.missles)\extract\build-utilities.ps1"

  • 所需的输出:
  • C:\Workspace\mydirectorytosearch1\anonymize-psake.ps1

  • 帮我调整我的脚本??

    最佳答案

    您可以使用 Select-String 和 Unique 参数消除重复项:

    $text='folders'
    Get-ChildItem C:\Workspace\mydirectorytosearch1\,C:\Workspace\mydirectorytosearch2\ -Recurse -Filter '*.ps*1' |
    Select-String -Pattern $text | Where-Object {$_ -NotLike '*.invoke(*'} |
    Select-Object Path -Unique

    关于powershell - 目录/文本搜索上的 DISTINCT Select-String 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13161984/

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