Xml 包含sed命令的Bash脚本在Cygwin上引发错误

Xml 包含sed命令的Bash脚本在Cygwin上引发错误,xml,windows,bash,sed,cygwin,Xml,Windows,Bash,Sed,Cygwin,我在windows上创建了一个简单的bash脚本,并尝试在Cygwin上执行它 该命令正在将XML文件第17行的标记值从2013替换为2014 #!/bin/bash sed '17 s/<asOf>2013<\/asOf>/<asOf>2014<\/asOf>/' XML_FILE #/bin/bash sed'17 s/2013/2014/'XML_文件 如果我直接在cygwin上执行sed命令,我就能够得到结果。但在cygwin上运行ba

我在windows上创建了一个简单的bash脚本,并尝试在Cygwin上执行它

该命令正在将XML文件第17行的标记值从
2013
替换为
2014

#!/bin/bash
sed '17 s/<asOf>2013<\/asOf>/<asOf>2014<\/asOf>/' XML_FILE
#/bin/bash
sed'17 s/2013/2014/'XML_文件
如果我直接在cygwin上执行
sed
命令,我就能够得到结果。但在cygwin上运行bash脚本时显示以下错误:

sed:-e表达式#1,字符3:命令后的额外字符


确保脚本不包含任何Windows回车符-
\r
字符。我已经考虑过这一部分。将EOL转换从windows更改为Unixopen,并在vi中使用cat查看
s/
周围是否有windows编辑器无法显示的额外字符(但bash很好),您可能在命令中使用了某种变量。如果它们碰巧包含斜杠
/
,您可以使用另一个分隔符:
sed'17 s#2013#2014#文件
@NeronLeVelu:这个建议很好,因为Windows编辑器有时会愚蠢地随意使用空格。以前有过这样的问题吗