我想在文件中的第一个“< p”之前在html中插入一个字符串,但是我遇到了一些困难。
thestring="<p>this is some sentence</p>"
sed -i "/<p/i${thestring}" somefile.html
“somefile.html”但是包含多行包含“&lt; p”,并且上面多次插入字符串。
我试过这样做:
sed -i "0,/<p/i${thestring}" somefile.html
或
sed -i "0,/<p/s//i${thestring}" somefile.html
但我没有在哪里。
我做错了什么?
答案 0 :(得分:2)
1)使用s/.../.../
代替i
2)thestring
中的特殊字符会与sed的s
分隔符冲突。在您的示例中,/p>
这应该可以满足您的需求:
sed -i "0,/<p/ s_^_$thestring\n&_" file
答案 1 :(得分:0)
echo "${thestring}" | sed s'@<p>this is@blah blah <p>this is@'
如果您想获得“
”的特定实例,只需为搜索添加更多上下文。