sed 和 grep 指令

sed 和 grep 指令

我如何运行并测试sedgrep说明Windows PowerShell

当我运行Windows PowerShell并尝试sed在我的文件上测试指令时,它出现以下错误:

The term 'sed' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spellin
g of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:4
+ sed <<<<  -r "s/[0-9]/digit/"
    + CategoryInfo          : ObjectNotFound: (sed:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

我正在尝试运行以下路径/sed 指令:

PS C:\Users\Me\Desktop> cd sed -r "s/[0-9]/a" file.txt

为什么这不起作用?

答案1

sed 是通用 unix/linux 工具包中的一个特定命令。默认情况下,它在 Windows 中不存在

因此,在普通的 Windows 系统上,这些命令在 powershell 或 cmd 中不起作用。

我通常自己安装这些(作为GOW 公用事业)。

powershell 中也有类似功能- match 的工作方式类似于 grep,而 replace 的工作方式类似于 sed,但我对它们不够熟悉,无法提供更详细的例子。

答案2

对于 Microsoft Windows 系统,您可以使用 Windows 版本的grepsed GNU实用程序。如果您使用的是 Windows 10 系统,另一种访问这些实用程序的方法是安装适用于 Linux 的 Windows 子系统它提供了这些工具以及 Linux/Unix 系统上的许多其他常用工具,尽管后一种选择是在 PowerShell 之外提供对这些工具的访问。

相关内容