这个问题在哲学上类似于这里一次又一次出现的问题:
- Search and replace text in all files of a linux directory
- How to search-replace content within files in Ubuntu Linux?
- Linux search and replace a complex string
但是它们(除了最后一个)都处理简单的替换。我有一个较大的代码块,它出现在许多 文件中(我希望复制/粘贴源代码会受到法律惩罚),我需要替换它。
这里有什么可以帮助我的吗?我想避免对 block 进行“sed”化(如上面第三个类似问题中所做的那样),因为这将花费一天的大部分时间。如果我必须临时安装一些特定的文本编辑器,那就这样吧。
最佳答案
关于您的问题的好处是您处理的是固定字符串而不是正则表达式...这使得问题相对简单。你可以 write something为您完成这项工作,不会有太多问题。
我链接到的解决方案不是最优的,但它确实有效,并且它不依赖于仅匹配开始/结束行(也就是说,它只替换逐字匹配)。基本思想是:
- 读入定义我们正在寻找的内容的文件,
- 读入定义我们替换的文件,
- 遍历所有其他参数,查找搜索字符串并将其替换为替换文本
关于linux - 在 linux 中搜索和替换所有文件中的代码块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10557379/