适用于 Windows 的 Sed

适用于 Windows 的 Sed

我第一次尝试使用 SED。更复杂的是,我在 Windows 中使用它。我从此来源。由于我在工作机器上没有安装权限,因此我在我的配置文件中为可执行文件创建了一个文件夹并将其添加到我的PATH

我第一次尝试使用 SED 时遇到了问题。它一直失败并显示以下错误:

sed: -e expression #1, char 1: unknown command: `''

我尝试了几个不同的样品这个如何,但我就是搞不定。我发现没有其他人遇到这个问题。我应该尝试什么?我试过用引号、双引号和反引号括起来。似乎都无济于事。

答案1

C:\>sed sdf
sed: -e expression #1, char 3: Unterminated `s' command

C:\>echo aaa > f
C:\>sed -e "s/a/x/" < f
xaa

这是sed使用工具

答案2

与 Unix 不同,Windows 命令行 shell 不执行任何分词,也不会删除引号;程序只接收包含整个命令行的单个字符串。这意味着并非所有程序都能遵循相同的引号规则。

在这种情况下,GnuWin32 版本的sed仅支持一种引用样式 -"双引号"。例如,在我的测试中,以下内容运行正常:

sed "s/foo/bar/"

您还可以sed赛格威以及更完整的类 Unix 系统:shell、编辑器和其他工具。如果您使用 Unix shell 进行学习,将更容易避免将来出现此类语法问题。

答案3

这是一个老问题,但是如果你有Git 重击安装后,您可以在 Windows 环境中使用很多 unix 功能 (sed /ssh /scp /grep)。

相关内容