ヘッダーファイルを編集して一部のテキストを置き換えるスクリプトがあります。
置き換えたいテキストの行は次のとおりです。
#define A MYTEXT
MYTEXTでいくつかの操作を行う必要があるため、ファイルをループして文字列を見つけ、値を取得します。
if [[ "$line" == *MYTEXT* ]]
then
echo $line
bn=`echo $line| cut -d 'Y' -f 2` #split at the Y value in the string
#operation here and junk here
sed 's/'$line$'/'$texttoreplace'/g' HeaderFile.h > out.header.h
fi
done < HeaderFile.h
これは通常の文字列では問題なく機能しますが、sedは次のように機能します。
#define A MYTEXT
sed: 1: "s/#define": unterminated substitute pattern
「#」が含まれていないファイルを使用すると、問題なく動作します。ファイルはそのファイルだけです。
これを修正するために私ができることについて何かアイデアはありますか?