使用 GREP 替换文本正文

使用 GREP 替换文本正文

使用 GREP 替换文本的最佳方法是 in什么</div>walked down the path

The cat in the hat
jdlsknklnvlsdknld       ======>    The cat walked down the path
jkgsabkjkjksjakh
</div>

答案1

使用 Perl 可以相当轻松地匹配多行。

perl -p0e 's# in .*</div># walked down the path.#sm'

简而言之,

  • -p0e将 Perl 变成sed类似流式多线处理器。
  • s#...#...#部分表示您想要用(第二个子句)替换从in到(第一个子句)的所有字符。</div>walked down the path
  • sm大致意思是“将换行符视为所有其他字符。

该答案假设输入文本只有一个这样的模式。

相关文档页面可以找到这里这里在 Perl 的官方网站上。

答案2

用来grep替换文本?祝你好运。

sed将为您完成:

sed 's/in the hat/walked down the path/;/The cat/,/<\/div>/ {/The cat/n;d}' file

笔记

  • s/old/new/old用。。。来代替new
  • ;分隔命令
  • /begin/,/end//begin/在从到 的范围内操作/end/
  • {}分组,用于范围内使用的命令
  • /The cat/n排除该行/The cat/(不执行任何操作并读取下一行)
  • d删除(范围内的其余行)

相关内容