我正在尝试使用sed将文本文件中的字符@STYLESHEET
替换为<xsl:stylesheet
。
我收到错误说
文件名,目录名或volumelabel语法不正确
以下是我的蝙蝠脚本:
ECHO replacing strings in Generated.txt
sed s/@STYLESHEET/<xsl:stylesheet'/g Generated.txt > UpdatedGenerated.txt
PAUSE
type UpdatedGenerated.txt
文本文件包含以下行:
@STYLESHEET version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" @END
答案 0 :(得分:2)
<
字符很好。但是,在替换结束时你有一个撇号,不知道为什么。此外,您必须将sed命令作为字符串传递:sed '...'
或sed "..."
。所需的报价类型也取决于您的控制台。
因此,这将使您的脚本运行良好:
sed "s/@STYLESHEET/<xsl:stylesheet/g" Generated.txt > UpdatedGenerated.txt
^^^ ^^^
答案 1 :(得分:1)
将选项放在双引号后它起作用了。问题不在于字符&lt;。
sed "s/@STYLESHEET/<xsl:stylesheet/g" Generated.txt > UpdatedGenerated.txt