当前位置:  开发笔记 > 编程语言 > 正文

多行搜索和替换工具

如何解决《多行搜索和替换工具》经验,为你挑选了2个好方法。

我正在寻找一个工具来替换项目中的多行.例如:

#include "../DiscreteIO/Discrete.h"
#include "../PCI/pci.h"
#include "../Arinc429/ARINC429.h"

#include "../PCI/pci.h"
#include "../DiscreteIO/DiscreteHW.h"
#include "../DiscreteIO/Discrete.h"

我尝试了两种适用于此类搜索和替换的工具.Wildedit和实际搜索和替换两者似乎都是出色的工具,但它们是共享软件.有人知道类似的工具吗?有什么免费或是时候分钱?

澄清:

在这种情况下通过一个项目意味着一千多个c文件.文本编辑器一次只能执行一个文件(Textpad,Programmers notepad)或所有打开的文件(nodepad ++).我没有尝试任何其他编辑,但我认为他们会有类似的问题.如果我错了,请纠正我.

像sed和awk这样的工具是一种解决方案,但存在问题,因为我不经常使用它们并且需要花一些时间来获取工作,因为我不是这些工具的专家.

答案是:全部......

Ultra编辑可以工作,但我已经有一个编辑器,如果我只是将它用作搜索和替换工具,价格是陡峭的.

Sed,AWK和基于正则表达式的工具可以工作,但在某些情况下可能会很痛苦.

Wild Edit可以工作,而且价格不贵.

我最终的决定是运用我的正则表达技巧.



1> Rich..:

JetBrains系列IDE:IntelliJ,RubyMine,PHPStorm等将进行多行搜索和替换.

选择有问题的文本并按ctrl-shift-F- 这将打开替换对话框,将所选文本作为查找表达式(使用带换行符的正则表达式\n)



2> The Archetyp..:

sed会做你想做的.

请参阅这里的FAQ条目http://sed.sourceforge.net/sedfaq4.html#s4.23.3

如果你需要匹配一个静态文本块(可能在整个文件中出现任意次数),预先知道块的内容,那么这个脚本很容易使用

Sed适用于Windows.见http://gnuwin32.sourceforge.net/packages/sed.htm


不知道我做错了什么,但是当我运行`sed -nf blockrep.sed findrep.txt`命令生成`custom.sed`文件时,我收到错误`sed:file blockrep.sed第18行:unterminated' s'命令'.看一下该行的正则表达式(`s,[/\[.*],\\&,g`),这对我来说是正确的.
推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有