在sed中替换HTML结束标记

时间:2014-05-16 23:02:39

标签: sed

我正在编写一个脚本,它将从txt文件中读取一些数据,然后使用其他文件中的数据生成一个html文件。我有以#开头的行,我必须跳过 - 这已经完成了。但问题是,当我阅读文件时,我必须跳过单词<head>, </head>, <body> and </body>.

我没有排除问题,我正在使用:

cat ~/linux/footer.txt | sed 's/<head>//g' > ~/linux/footer_temp.txt

但问题出在</head> and </body> ...

任何建议我可以使用什么以及如何使其工作?

由于

2 个答案:

答案 0 :(得分:3)

如果你的模式中有斜杠,sed将允许你使用不同的字符作为分隔符,例如:

sed 's|</head>||g'

答案 1 :(得分:0)

这可能适合你(GNU sed):

sed -r 's#</?(head|body)>##g' file

或:

sed 's/<\/\?\(head\|body\)>//g' file

这使用#作为替换定界符,?元字符表示一个没有(在本例中为/),并将分组和替换匹配为headbody