在多个文件中查找和替换文本

在多个文件中查找和替换文本

我想知道如何在链接教程中的 Notepad++ 中查找和替换多个文件中的特定文本。

例如:http://cybernetnews.com/find-replace-multiple-files/

答案1

这里我使用 sed 将目录 /home/user/directory/ 中每个扩展名为 c 的文件中出现的每个单词“cybernetnews”替换为“cybernet”。

find /home/user/directory -name \*.c -exec sed -i "s/cybernetnews/cybernet/g" {} \;

一种更通用的变体,您可以从执行目录中递归搜索并仅对常规、可读、可写文件进行操作:

find ./ -type f -readable -writable -exec sed -i "s/cybernetnews/cybernet/g" {} \;

答案2

流编辑器 sed 是完成此类工作的强大实用程序,也是我的首选,但是,如果您想使用基于 Ubuntu 的本机应用程序从普通文本编辑器执行此操作,我建议您看看 Jedit,它在存储库中可用,可以通过在控制台中键入以下内容进行安装:

sudo apt-get install jedit

启动 jedit,点击搜索菜单项,在菜单列表中,点击在目录中搜索项,将出现以下对话框:

Jedit 在文件夹对话框中搜索

这与 Notepad++ 类似,并且执行相同的操作,我相信这就是您想要的。

答案3

另一个 GUI 选项是正则表达式生成器regexxer 截图

答案4

检查吉尼,它是 Linux 的完美 NPP 替代品。您可以做到这一点,而且还可以使用正则表达式。

相关内容