1

これを機能させる方法がよくわかりません。申し訳ありませんが、私はこれにちょっと慣れていません。

だから私はで始まる行を含むファイルを持っています

    <script type="text/javascript">var NREUMQ=NREUMQ

その行を次のように置き換えたい

</head>

うまくいかないようです。私はこのようなものが必要であることを理解しています:

sed 's/^    <script type="text/javascript">var NREUMQ=NREUMQ/hello/g index3.html

しかし、特殊文字をエスケープする場所がわかりません。明らかに「/」が必要です。誰か手を貸してくれませんか?

4

5 に答える 5

2

/一致するテキストに含ま/れている場合を除き、代替の正規表現区切り文字を使用します。

sed -i.bak 's~^ *<script type="text/javascript">var NREUMQ=NREUMQ~</head>~' index3.html
于 2013-11-07T20:57:56.323 に答える
2

バックスラッシュを使用して、ほぼすべてをエスケープできます。

sed "s/^    <script type=\"text\/javascript\">var NREUMQ=NREUMQ/hello/g" index3.html

良い点sedは、代替区切り文字も使用できることです。の後に何を置いても使用されますs。つまり、スラッシュをエスケープする必要はありません。

sed "s#^    <script type=\"text/javascript\">var NREUMQ=NREUMQ#hello#g" index3.html
于 2013-11-07T20:59:10.073 に答える
1

バックスラッシュでエスケープできます。しかし、あなたも書くことができます

sed 's!...!...!' 

(「!」は任意の文字にすることができます)

于 2013-11-07T20:58:07.623 に答える