gpt4 book ai didi

powershell - 在PowerShell中为findstr/grep输出着色

转载 作者:行者123 更新时间:2023-12-03 01:18:42 33 4
gpt4 key购买 nike

我发现了很多问题/答案以及其他类型的帖子,这些帖子都谈到了使用别名代替grep代替findstr。尽管这很有用,但我在许多终端环境中都喜欢grep的一件事是所找到的文本被突出显示;常为红色。

findstr / A:color似乎暗示这应该是可能的,甚至是容易的...但是我还没有在一个简单的语句中使它起作用:

set-alias grep "findstr /A:color F0"

有办法吗?

谢谢

最佳答案

我创建了新的别名,因此很可能还有其他(更好)的方法,而不是我在下面编写的方法,但是这种方法似乎可行。
Set-Alias的帮助部分,用于参数Value的状态:

-Value

   Specifies the name of the cmdlet or command element that is being aliased.


因此,它希望别名命令可以是cmdlet或命令元素。

如果执行 Get-Help Set-Alias -Examples,您将看到最后一个示例,该示例执行与您希望的操作类似的操作,以调用命令并指定一些硬编码参数。它使用以下代码执行此操作:
PS C:\>function CD32 {set-location c:\windows\system32}
PS C:\>set-alias go cd32

因此,您需要做的是创建一个可以执行所需功能的函数,然后对该命令进行别名。例如:
function Search-Text
{
& c:\Windows\system32\findstr.exe /A:F0 $Args
}

然后,您可以将该新函数别名为 grep,例如:
Set-Alias grep Search-Text

最后就像这样:
grep mysearchword file1.txt file2.txt

注意:当我在普通的PowerShell Shell中运行它时,上面的代码对我来说很好(可能因为这实际上是带有一些额外内容的普通命令Shell),但是在ISE中无法获得预期的彩色打印(显然ISE处理主机打印的方式有所不同)。

关于powershell - 在PowerShell中为findstr/grep输出着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22262296/

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