2012-10-23 5 views
5

私は、ターミナルを使ってファイル内のいくつかのHTMLコードを置き換えようとしています。テキストファイルを検索し、端末に置き換えます。すべての文字をエスケープするには?

これは私が、私はので、私はこれをしようとしてきた

<body> 
<div style="text-align: center;page-break-after:always;padding-top:0%;"> 
<img src="images/image-001.jpg" id="illustration" alt="illustration" /> 
<div id="caption" style="text-align:right;font-style:italic;"></div> 
</div> 

<body> 

を交換しようとしているが、私だ

perl -pi -w -e 's/find/replace/g;' /Volumes/Abc.html 

を使用しているコマンドですすべての文字をエスケープする方法を理解することはできません。手伝ってくれますか?

perl -pi -w -e 's/<body>/<body> 
<div style="text-align: center;page-break-after:always;padding-top:0%;"> 
<img src="images/image-001.jpg" id="illustration" alt="illustration" /> 
<div id="caption" style="text-align:right;font-style:italic;"></div> 
</div> 
/g;' /Volumes/Abc.html 

ありがとうございます!

答えて

6

{}のように、別のセパレータを使用してください。

perl -pi -w -e 's{<body>}{...}g' /Volumes/Abc.html 
+0

は、何か新しいことを学びました。ありがとう! – dot

+0

ここでは、 'sed'がうまく動作しませんでしたが、これはうまく動作します。理由を理解するために); – emilio

+0

+1000は、私がこの時間にsedを使用しようとしていた理由を理解できません。複数のファイルを変更する場合に特に便利です: 'perl -p ... '{古い} {新} g' * .html' ...ありがとう! – sa125

関連する問題