如何优雅的实现修改file中的某一行
发布于 10 年前 作者 Dogzhou 4835 次浏览 最后一次编辑是 8 年前

现在有这样一个需求,读取一个文件,如果这个文件中的某一行包含字符串"a",就把这个"a"改为"b",如何优雅的实现?

7 回复
sed -i "s/a/b/g" `grep a -rl /path/to`

在Node中,可以使用stream.Transform 或者stream.Duplex实现,当然可以去社区找找stream方面现成的库

如果是一个文件的话… Sublime 打开, 一路快捷键… 如果是很多个文件的话, 安装 ShellJS 写个脚本吧…

自己搞定了,先readfile,保存修改后的内容,再writefile

这还叫优雅? 给跪了… 如果文件有10T, 你全部往内存读?

只是改变字节倒不难,readfile、writefile 可以指定offset、length 难的是在中间位置插入或删除,改变了文件长度

@xujun52011 求一个优雅的解决方法

回到顶部