我有index.html文件
我需要这样的第88行:Test Page 1
如下所示:Test Page 10
尝试了基本程序,如:
sed -i '88s/1/10' index.html
sed -i ‘88|\(.*\)| <h1>Test Page 10</h1>\1|' index.html
但似乎html标签需要不同的处理方式?
我在t.html
中填充了100行相同的内容(每行仅为
。在本演示中,我使用测试页1
nl t.html grep 88;
显示第88行。(nl
只对每行进行编号,而grep
搜索要匹配的正则表达式,但88
只匹配文本88)。我在命令的开头和结尾运行它,以显示更改前后的第88行。
$ nl t.html | grep 88; sed -i -e '88 s/Page 1/Page 10/' t.html; nl t.html | grep 88
88 <h1>Test Page 1</h1>
88 <h1>Test Page 10</h1>
您必须小心使用正则表达式--如果您只是使用s/1/10/
,它将替换第一个h1
中的1
,而不是页面1
中的1
。