GNU用于windows处理特殊字符

GNU用于windows处理特殊字符,windows,sed,character,Windows,Sed,Character,我正在运行适用于Windows的GNU sed 4.2.1实现,但没有使用sed的经验 我有一个xml文件,其中行的格式如下: 需要将每行转换为以下内容: Pericles 尝试了很多事情很多小时,但尽管引号问题已经解决(引号反斜杠引号),大于字符“>”斜杠,小于字符,会导致问题 “>”应被视为任何其他字符,对吗?但是没有,这个实现似乎与文件重定向有关 尝试使用反斜杠、插入符号等,但尽管我就快到了,但失败了 还注意到一些来自Unix的示例,在Windows中失败。Windows是另一种实现还是

我正在运行适用于Windows的GNU sed 4.2.1实现,但没有使用sed的经验

我有一个xml文件,其中行的格式如下:

需要将每行转换为以下内容:

Pericles

尝试了很多事情很多小时,但尽管引号问题已经解决(引号反斜杠引号),大于字符“>”斜杠,小于字符,会导致问题

“>”应被视为任何其他字符,对吗?但是没有,这个实现似乎与文件重定向有关

尝试使用反斜杠、插入符号等,但尽管我就快到了,但失败了

还注意到一些来自Unix的示例,在Windows中失败。Windows是另一种实现还是与操作系统有关


任何使用sed for Windows并能帮助我的人?

使用
xmlstarlet
等工具,解析xml会变得容易得多

也就是说,您可以尝试使用Unix工具,如
sed
awk

使用
GNU sed

sed -r '/^<field/s/.*name="([^"]+)".*value="([^"]+)".*/<entry key="cm:\1">\2<\/entry>/' file.txt
结果:

<entry key="cm:Title">Pericles</entry>
伯里克利
我意识到这是一篇老文章,可能会帮助其他人寻找这篇文章。 使用双引号而不是单引号


sed-e“s/text with>//g”在cmd.exe中使用Cygwin sed对我有效。

似乎无法正确显示我的注释。我运行了sed命令并得到错误:
sed:-e expression#1,char 1:未知命令:'
将单引号替换为双引号并得到错误:
sed:-e expression#1,char 68:对's'命令的RHS的无效引用\2
@chora:我不是windows专家,但是,您可能需要考虑在Linux环境中运行<代码> SED,如史提夫,这可能很困难,因为程序必须定期运行无人值守。我想我必须看看Windows Powershell寻找一个可能的解决方案。你声称“就快到了”。那你为什么不具体说明一下你在哪里,以便有人能帮你完成最后(几)步呢?
<entry key="cm:Title">Pericles</entry>