1

这个问题已经让我陷入困境了,我已经搜索了很多,似乎没有其他解决方案适合我......

sed "s|{{/each}}| -->\n $photostr |" $1

所以我试图结束评论,并拍打我的照片串。这是 $photostr 是什么

 <a data-gallery="gallery" href="The_Great_Wave.jpg"  title=" The Great Wave off Kanagawa"> <img src="bar" alt=" The Great Wave off Kanagawa"/></a>
 <a data-gallery="gallery" href="Mt_Fuji.jpg"  title=" Mount Fuji (the highest mountain in Japan)"> <img src="bar" alt=" Mount Fuji (the highest mountain in Japan)"/></a>
 <a data-gallery="gallery" href="Beach.jpg"  title=" Waves Crashing on the Beach"> <img src="bar" alt=" Waves Crashing on the Beach"/></a>
 <a data-gallery="gallery" href="Elephant.jpg"  title=" An Elephant in the Serengeti"> <img src="bar" alt=" An Elephant in the Serengeti"/></a>
 <a data-gallery="gallery" href="Milky_Way.jpg"  title=" The Milky Way Galaxy (contains our Solar System)"> <img src="bar" alt=" The Milky Way Galaxy (contains our Solar System)"/></a>
 <a data-gallery="gallery" href="Poppies.jpg"  title=" Poppies in Bloom"> <img src="bar" alt=" Poppies in Bloom"/></a>

所以它充满了元字符,所以我使用管道作为分隔符,但我得到了这个错误......

sed: -e expression #1, char 70: unterminated `s' command 

对于输入,$1 是一个包含 html 和一些 {{metatag}} 的文件,需要适当的替换来制作一个工作网页。我关心的一点,

</a> {{/each}} </div>

应该变成...

</a> --> <a data-gallery="gallery" href="The_Great_Wave.jpg" title=" The Great Wave off Kanagawa"> <img src="bar" alt=" The Great Wave off Kanagawa"/></a> <a data-gallery="gallery" href="Mt_Fuji.jpg" title=" Mount Fuji (the highest mountain in Japan)"> <img src="bar" alt=" Mount Fuji (the highest mountain in Japan)"/></a> <a data-gallery="gallery" href="Beach.jpg" title=" Waves Crashing on the Beach"> <img src="bar" alt=" Waves Crashing on the Beach"/></a> <a data-gallery="gallery" href="Elephant.jpg" title=" An Elephant in the Serengeti"> <img src="bar" alt=" An Elephant in the Serengeti"/></a> <a data-gallery="gallery" href="Milky_Way.jpg" title=" The Milky Way Galaxy (contains our Solar System)"> <img src="bar" alt=" The Milky Way Galaxy (contains our Solar System)"/></a> <a data-gallery="gallery" href="Poppies.jpg" title=" Poppies in Bloom"> <img src="bar" alt=" Poppies in Bloom"/></a>

4

1 回答 1

2

\n像使用它之前一样对变量值中的换行符进行编码:

photostr=$(sed ':a;N;$!ba;s/\n/\\n/g' <<< "$photostr")
sed "s|{{/each}}| -->\n $photostr |" $1
于 2013-03-17T15:38:47.363 回答