我如何运行并测试sed
并grep
说明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 版本的grep和sed GNU实用程序。如果您使用的是 Windows 10 系统,另一种访问这些实用程序的方法是安装适用于 Linux 的 Windows 子系统它提供了这些工具以及 Linux/Unix 系统上的许多其他常用工具,尽管后一种选择是在 PowerShell 之外提供对这些工具的访问。