【发布时间】:2013-03-23 11:35:16
【问题描述】:
我需要使用 sed 进行多文件查找和替换(删除)。我有电话:
所以换行:
<meta name="keywords" content="there could be anything here">
在当前目录下的所有文件中都带有''(无)。
到目前为止我已经得到了这个:
sed -e 's/<meta name="keywords" content=".*>//g' myfile.html'
但我知道这只会删除 标签。如何匹配
<meta name="keywords" content="
并删除从那个到下一个的所有内容
>
我还需要对当前目录及其下的所有文件执行此操作(递归)。
提前致谢!
【问题讨论】:
-
HTML 和正则表达式不能一起使用。
-
请停止在任何地方回答这个问题,你没有任何意义也没有意义。 @Barney,你真正想做什么? (顺便说一句,你的第一个正则表达式应该可以工作,也就是说,这取决于你真正想做的事情)
-
已编辑,希望它更清晰一点?对此感到抱歉
-
你确定这总是一行吗?您不会遇到关闭“>”在另一行的情况吗?这将是 only 行中的内容吗(您谈论删除该行,但您的代码是在一行内删除)。
-
您发布的脚本将按照您所说的去做,即
match against <meta name="keywords" content=" and delete everything from that to the next >,因此到目前为止还无法弄清楚您想要什么。发布 几行 行真正具有代表性的样本输入和预期输出会有所帮助。