我怎样才能插入一行到比赛后,在HTML文件匹配后的HTML文件,例如我试图插入此行:如何插入线使用SED
<a href="www.google.com">HERE</a>
匹配等之后这样的:
<p id="insert_here">
经过一番研究,我发现桑达可用于这样的事情,这是我的尝试:
sed '/\<p id="insert_here">/<a href="www.google.com">HERE </a>' prac.html
我怎样才能插入一行到比赛后,在HTML文件匹配后的HTML文件,例如我试图插入此行:如何插入线使用SED
<a href="www.google.com">HERE</a>
匹配等之后这样的:
<p id="insert_here">
经过一番研究,我发现桑达可用于这样的事情,这是我的尝试:
sed '/\<p id="insert_here">/<a href="www.google.com">HERE </a>' prac.html
要添加一条线,请使用a
(用于追加)命令:
sed -i '/<a href="www.google.com">HERE<\/a>/a\
<p id="insert_here">
' prac.html
随着GNU sed的,你可以命令后省略新行:
sed -i '/<a href="www.google.com">HERE<\/a>/a <p id="insert_here">' prac.html
@Abugado我更新了(在第一个命令中缺少代码) 。第二个可能不适用于某些sed版本。 – SLePort
我仍然收到这个错误,sed:1:“prac.html”:在p命令结尾处的额外字符 但是,我试过这个: sed'/ < p id =“insert_here”>/a \ 这里<\/a>'prac.html 它可以工作,但它不会更改文件,它只是显示更改,我尝试使用-i,但它给出了一个错误: sed:1:“prac.html”:p命令末尾的额外字符 – Abugado
正确的命令是应该像 sed -e 's#<p id="insert_here">#<a href="www.google.com">HERE </a>#g' prac.html
/g来在全球范围内更换 进一步的细节读sed by example
您还可以在地方更换使用-i标志 例如:
sed -i '' 's#<p id="insert_here">#<a href="www.google.com">HERE </a>#g' prac.html
不是'是'的意思吗?我只是想添加一个新行,也仍然出现错误: sed:1:“s/
/...”:替换命令中的坏标志:'a' – Abugado
你有没有测试了这个? ''中的未转义斜线会混淆sed。 –
@Abugado我编辑了这个命令,请现在检查 –
使用此:'sed的 '/
/I \ HERE' prac.html' – sat
我得到这个错误 “/
/i ...”:在i命令结尾处的\之后的额外字符 – Abugado
^^从sat的评论中将'\'放在' anishsane