2016-07-22 11 views
1

テキストファイルにある@STYLESHEET文字列をsedを使用して<xsl:stylesheetに置き換えようとしています。sedを使用して文字列を置換するときの<

私は、ファイル名

を言って、ディレクトリ名をエラーを取得しています、または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 

答えて

2

<文字は問題ありません。しかし、置き換えの最後にアポストロフィがありますが、その理由はわかりません。さらに、sedコマンドを文字列(sed '...'またはsed "...")として渡す必要があります。必要な見積もりタイプはコンソールによっても異なります。

だから、これはあなたのスクリプトがうまく動作するようになります。

sed "s/@STYLESHEET/<xsl:stylesheet/g" Generated.txt > UpdatedGenerated.txt 
    ^^^        ^^^ 
+0

私はsedの/ @ STYLESHEET/を試みました。間違った構文を取得しました。私がsedの/ @ STYLESHEET/xsl:stylesheet/g 'Generated.txt>を試みたときに無効なコマンドを取得しました。一重引用符と文字<を使わないで試してみると、うまくいきます。 – shaiksha

+0

これはお使いのコンソールによっても異なる場合があります。二重引用符も試してみることができます。 –

+0

Tamasさん、ありがとうございました。二重引用符が使用されました。 – shaiksha

1

それは、二重引用符でオプションを入れた後に働きました。問題は文字<ではありませんでした。
sed "s/@STYLESHEET/<xsl:stylesheet/g" Generated.txt > UpdatedGenerated.txt

関連する問題