2012-10-23 6 views
5

Próbuję użyć terminala do zamiany kodu HTML w pliku.Znajdź i zamień w pliku tekstowym na terminal. Jak uciec od wszystkich postaci?

To polecenie używam

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

próbuję zastąpić

<body> 

z

<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> 

więc Próbowałem tego, ale ja nie potrafię wymyślić, jak uciec od wszystkich postaci. Możesz pomóc?

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 

Dzięki!

Odpowiedz

6

Użyj innego separatora, np. {}.

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

nauczyłem się czegoś nowego. dzięki! – dot

+0

samo tutaj, nie można uzyskać "sed" do pracy, to działa dobrze. Teraz, aby dowiedzieć się, dlaczego;) – emilio

+0

+1000, nie rozumiem, dlaczego próbowałem używać sed przez cały ten czas. Szczególnie przydatne przy zmianie wielu plików: 'perl -p ... 's {old} {new} g' * .html' ... thanks! – sa125

Powiązane problemy