需要处理 50 多个文件,把「阅读(...)」后面的内容全部删去:
文档像是这样:
文章正文……
阅读(...) | 评论(...)
(后面一堆无用的内容)
我尝试了正则表达式,但是结果发现:
➜ grep -n "阅读(.*" 3604941420111111104532711.html 41:阅读(362)| 评论(76)
正则表达式只能返回一行的内容,而不是这一行之后的所有内容,无法满足需求。
请问用什么正则表达式可以解决?或是有其他的办法吗?
正则表达式 grep shell
看样子你需要的不是跨行正则表达式吧……
你需要的是不是 删除匹配的那一行之后的内容 ?那样可以考虑获取匹配的那一行的行号,删除剩下的行号比它更大的行。
举个例子,你可以用 sed 这么做:
sed
sed -i "/阅读(.*/q" 3604941420111111104532711.html
怎么修改匹配到的模式?
求写个shell+正则表达式
正则表达式中()和[]有什么区别?
grep被搜索字符串的首字符是‘-’该如何处理
grep 搜索日志,如何同时显示匹配结果的前后 10 行
一个用vi/shell使用正则表达式进行文本处理的问题